使用json和ASP MVC生成对象数组

时间:2015-11-17 10:55:04

标签: c# asp.net json asp.net-mvc asp.net-mvc-4

我使用了一个js lib,我需要用ASP .Net MVC生成那个json结果:

[
  { "" : "--" },
  { "series-1" : "1 series" },
  { "series-3" : "3 series" },
  { "series-5" : "5 series" },
  { "series-6" : "6 series" },
  { "series-7" : "7 series" },
  { "selected" : "series-6" }
]

此时代码:

var liste = new Dictionary<string, string>();
foreach(var site in sitesList)
{
    liste.Add(site.Id.ToString(), site.RaisonSociale);
}

return Json(liste,
  JsonRequestBehavior.AllowGet);

产生JSON结果:

{"-1":"Tous","93":"name"}

我怎样才能做到这一点?

此致

2 个答案:

答案 0 :(得分:2)

使用JArray和JObject生成自定义数组

    JArray jArray = new JArray();

    foreach (var site in sitesList)
    {
      JObject jObject = new JObject();
      jObject.Add(site.Id.ToString(), site.RaisonSociale);
      jArray.Add(jObject);
    }
    return jArray;

答案 1 :(得分:1)

这是获得它的一种方法:

var liste = new List<Dictionary<string, string>>();
foreach(var site in sitesList)
{
    liste.Add(new Dictionary<string, string> { {site.Id.ToString(), site.RaisonSociale } } );
}

return Json(liste,
  JsonRequestBehavior.AllowGet);