4

我有一个关于 MVC4 (beta) 问题的问题,我一直在努力解决一段时间。问题是我想创建一个带有为我的 webapi 添加的对象名称的 json。必须创建 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;
    }

我假设我需要在某个地方循环添加对象名称,但我不确定如何......希望有人可以帮助我解决这个问题!

4

1 回答 1

3

返回如下内容:

new { Goal = db.Goals().AsEnumerable().ToList() }

您可以使用匿名对象添加不在对象中的属性和内容。

如果您希望它正确反序列化,您也可以为 JSON.NET 编写自定义转换器,但如果您不关心输出的反序列化,上述解决方案将起作用。

于 2012-04-06T12:48:33.630 回答