我有一个关于MVC4(beta)问题的问题,我一直在苦苦挣扎一段时间。问题是我想创建一个json,为我的webapi添加了对象名称。必须创建json,因为接收方需要这个。我的.NET / MVC知识有限,请耐心等待。我尝试搜索这个主题,但由于MVC4仍然处于测试阶段,因此很难找到有关此主题的良好信息。
我已在我的解决方案中导入了JSON.NET格式化程序,但这不会添加对象名称
现在在MVC4中创建的json:
[{"ID":36,"Name":"Test3","Description":"Description Test3"},{"ID": 37,"Name": "Test4","Description": "Description Test4"}]
我希望json看起来像这样:
{"Goal":[{"ID":36,"Name":"Test3","Description":"Description Test3"},{"ID": 37,"Name": "Test4","Description": "Description Test4"}]}
所以我喜欢将对象名称(目标)包含在json中。
我正在使用的api控制器中的代码是:
StoreDBContext db = new StoreDBContext();
//
// GET /api/goals
public IQueryable<Goals> Get()
{
return db.Goals;
}
我假设我需要在某个地方循环添加对象名称,但我不确定如何...希望有人可以帮我解决这个问题!
答案 0 :(得分:3)
返回这样的内容:
new { Goal = db.Goals().AsEnumerable().ToList() }
您可以使用匿名对象添加不在对象中的属性和内容。
如果您希望JSON.NET正确反序列化,也可以为JSON.NET编写自定义转换器,但如果您不关心输出的反序列化,则上述解决方案将起作用。