我正在使用实体框架从数据库中获取数据并将其序列化为JSON。我希望我的JSON响应如下所示。
Shoud我将items
属性添加到我的模型并制作我想要的JSON?感谢。
渴望Json
{
"items" : [
{
"Id": 1,
"AdContent":"Content1"
},
{
"Id": 2,
"AdContent":"Content2"
},
{
"Id": 3,
"AdContent":"Content3"
}
]
}
我收到的当前JSON
[
{
"Id":1,
"AdContent":"Content1"
},
{
"Id":2,
"AdContent":"Content2"
},
{
"Id":3,
"AdContent":"Content3"
}
]
{
控制器
public JsonResult GetJson()
{
using (var db = new DoskaUsContext())
{
List<AdViewModel> list = db.Ads.Select(x => new AdViewModel
{
Id = x.AdId,
AdContent = x.AdContent
}).ToList();
return Json(list, JsonRequestBehavior.AllowGet);
}
}
模型
public class AdViewModel
{
public int Id { get; set; }
public string AdContent { get; set; }
}
答案 0 :(得分:4)
匿名对象是一个解决方案Json(new {items=list},...)
。
解决该问题的一般方法 - 使用http://json2csharp.com/生成强类型类,并通过生成的类填充结果或至少查看代码中缺少的内容。
在这种特殊情况下生成代码:
public class Item
{
public int Id { get; set; }
public string AdContent { get; set; }
}
public class RootObject
{
public List<Item> items { get; set; }
}
其中显示了拼图的缺失部分 - RootObject
,其中包含列表属性items
。