Wai*_*ein 2 c# asp.net namevaluecollection asp.net-web-api keyvaluepair
我正在开发一个ASP.Net Web API项目.在我的项目中,我试图以这种格式从动作中返回JSON.
{
"Apple": null,
"Microsoft": null,
"Google": 'http://placehold.it/250x250'
}
Run Code Online (Sandbox Code Playgroud)
正如您在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");
}
}
Run Code Online (Sandbox Code Playgroud)
但后来我访问了该操作,它返回JSON,如下所示.
如您所见,它只返回Keys.姓名不包括在内.那不是我想要的格式.请问如何修复我的代码以获取返回的名称值对.
使用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");
}
}
Run Code Online (Sandbox Code Playgroud)
用application/json,以上将返回
{
"Microsoft": "microsoft.com",
"Google": "google.com",
"Facebook": "facebook.com"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4335 次 |
| 最近记录: |