oursgris
oursgris

Reputation: 2882

generate array of object with json and ASP MVC

I use a js lib and I need to produce that json result with ASP .Net MVC :

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

At this time that code :

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

return Json(liste,
  JsonRequestBehavior.AllowGet);

produce that JSON result :

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

How can I achieve this ?

Regards

Upvotes: 1

Views: 951

Answers (2)

YK1
YK1

Reputation: 7622

This is one way to get it:

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);

Upvotes: 1

hvojdani
hvojdani

Reputation: 470

use JArray and JObject to produce your Custom Array

    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;

Upvotes: 2

Related Questions