4

ASP.Net Web API プロジェクトを開発しています。私のプロジェクトでは、アクションから JSON をこの形式で返そうとしています。

{
  "Apple": null,
  "Microsoft": null,
  "Google": 'http://placehold.it/250x250'
}

JSON でわかるように、これはキーと値のペアです。キーと値はどちらも動的です。だから私はアクションから戻っNameValueCollectionてそのフォーマットを取得しようとしました. これが私のコードです:

public class CompaniesController : ApiController
{
    // GET api/<controller>
    public HttpResponseMessage Get()
    {
        NameValueCollection collection = new NameValueCollection();
        collection.Add("Microsoft", "microsoft.com");
        collection.Add("Google", "google.com");
        collection.Add("Facebook", "facebook.com");
        return Request.CreateResponse(HttpStatusCode.OK, collection, "application/json");
    }
}

しかし、その後、アクションにアクセスすると、以下のような JSON が返されます。

ここに画像の説明を入力

ご覧のとおり、キーのみを返しています。名前は除外されます。それは私が望む形式ではありません。名前と値のペアが返されるようにコードを修正するにはどうすればよいですか?

4

1 に答える 1

11

Dictionary<string, object>キーと値のペアを追加するために使用します。

public class CompaniesController : ApiController {
    // GET api/<controller>
    public HttpResponseMessage Get() {
        var collection = new Dictionary<string, object>();
        collection.Add("Microsoft", "microsoft.com");
        collection.Add("Google", "google.com");
        collection.Add("Facebook", "facebook.com");
        return Request.CreateResponse(HttpStatusCode.OK, collection, "application/json");
    }
}

application/json、上記が返されます

{
  "Microsoft": "microsoft.com",
  "Google": "google.com",
  "Facebook": "facebook.com"
}
于 2016-12-12T20:10:03.810 に答える