JSON输出需要采用正确的格式
本文关键字:格式 输出 JSON | 更新日期: 2023-09-27 18:00:36
我遇到一个问题,我的Majors对象没有正确序列化为JSON。它需要像这样,一个字符串数组:
"academics": {
"majors": [
“BS”, “MS”…etc
]}
相反,它看起来像这个
"academics": {
"majors": [
{"Major":"BS"},
{“Major”:”MS”}
]}
以下是我目前所拥有的:
public class Student
{
public string StudentId { get; set; }
public string Gender { get; set; }
public Academics academics { get; set; }
}
public class Academics
{
public List<Majors> majors { get; set; }
}
public class Majors
{
public string Major { get; set; }
}
public List<Student> GetStudentData()
{
List<Student> dataStudent;
using (IDbConnection connection = RepositoryHelper.OpenConnection())
{
dataStudent = connection.Query<dynamic>(
"mystoredprocedure",
commandType: CommandType.StoredProcedure)
.GroupBy(x => x.StudentId)
.Select(x => new Student
{
StudentId = x.First().StudentId,
Gender = x.First().Gender,
academics = (new Academics
{
majors = x.Select(ea => new Majors
{
Major = ea.Major
}).ToList()
})
}).ToList();
return dataStudent;
}
}
有什么建议吗?谢谢
我认为这是因为您在select语句中投影到一个新的Majors对象中,而不仅仅是获取Major值本身。
majors = x.select(ea => new Majors { Major = ea.Major }).ToList()
代替
majors => x.select(ea => ea.Major)