4

しばらく苦労している MVC4 (ベータ) の問題について質問があります。問題は、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"}]}

そのため、オブジェクト名 (Goal) を 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 を適切に逆シリアル化する必要がある場合は、JSON.NET 用のカスタム コンバーターを作成することもできますが、出力の逆シリアル化を気にしない場合は、上記のソリューションが機能します。

于 2012-04-06T12:48:33.630 に答える