Mohammad
Mohammad

Reputation: 1554

How to convert json to readable array in ASP.Net

I have JSON string that come from a WebService. I have use this code to convert it to object.

System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
object cw_values = serializer.DeserializeObject(cw_stringData);

Where cw_stringData is my JSON.

It returns an object{object[69]} to me. for example it means that it contains 69 items as its first level.

I have convert it again by this code.

object[] final_cw_values = ((object[])(cw_values));

So now final_cw_values has type object[] .

Each 69 items in final_cw_values have this type.

object {System.Collections.Generic.Dictionary<string,object>}

That have 15 items in it.

Each inner item have type:

System.Collections.Generic.KeyValuePair<string,object>

That contain one Key and one Value.

I need to have these Value in an Array.

If I click at Value and click Add to Watch I have some code like this but it don't work in my code.

(new System.Collections.Generic.Mscorlib_DictionaryDebugView<string,object>(((System.Collections.Generic.Dictionary<string,object>)(final_cw_values[0])))).Items[0].Value

This is part of my JSON:

[
  {
    "FirstWeight": -1,
    "SecondWeight": 0,
    "attr": "FirstLevel:display,none;FirstWeight:display,none;SecondLevel:rowspan,3;SecondWeight:rowspan,3;",
    "FirstLevel": "2. معیارهای معاملاتی",
    "Hidden1": "2         ",
    "SecondLevel": "2.2 اندازه در بورس",
    "Hidden2": "202       ",
    "ThirdLevel": "2.2.1 ارزش بازار (م ر)",
    "Hidden3": "10031     ",
    "ProfileCode": "1",
    "ThirdWeight": 22,
    "FirstEffectiveWeight": 50,
    "SecondEffectiveWeight": 25,
    "ThirdEffectiveWeight": 5.5,
    "Clustering": 1
  },
  {
    "FirstWeight": -1,
    "SecondWeight": -1,
    "attr": "FirstLevel:display,none;FirstWeight:display,none;SecondLevel:display,none;SecondWeight:display,none;",
    "FirstLevel": "2. معیارهای معاملاتی",
    "Hidden1": "2         ",
    "SecondLevel": "2.2 اندازه در بورس",
    "Hidden2": "202       ",
    "ThirdLevel": "2.2.2 درصد سهام شناور آزاد (%)",
    "Hidden3": "10036     ",
    "ProfileCode": "1",
    "ThirdWeight": 52,
    "FirstEffectiveWeight": 50,
    "SecondEffectiveWeight": 25,
    "ThirdEffectiveWeight": 13,
    "Clustering": 1
  },
  {
    "FirstWeight": -1,
    "SecondWeight": -1,
    "attr": "FirstLevel:display,none;FirstWeight:display,none;SecondLevel:display,none;SecondWeight:display,none;",
    "FirstLevel": "2. معیارهای معاملاتی",
    "Hidden1": "2         ",
    "SecondLevel": "2.2 اندازه در بورس",
    "Hidden2": "202       ",
    "ThirdLevel": "2.2.3 ارزش بازار شناور آزاد (م ر)",
    "Hidden3": "10053     ",
    "ProfileCode": "1",
    "ThirdWeight": 12,
    "FirstEffectiveWeight": 50,
    "SecondEffectiveWeight": 25,
    "ThirdEffectiveWeight": 3,
    "Clustering": 1
  },
  {
    "FirstWeight": -1,
    "SecondWeight": 0,
    "attr": "FirstLevel:display,none;FirstWeight:display,none;SecondLevel:rowspan,5;SecondWeight:rowspan,5;",
    "FirstLevel": "2. معیارهای معاملاتی",
    "Hidden1": "2         ",
    "SecondLevel": "2.3 نفدشوندگی سهام در بورس",
    "Hidden2": "203       ",
    "ThirdLevel": "2.3.1 تعداد روزهای بدون معامله اخیر",
    "Hidden3": "10066     ",
    "ProfileCode": "1",
    "ThirdWeight": 2,
    "FirstEffectiveWeight": 50,
    "SecondEffectiveWeight": 25,
    "ThirdEffectiveWeight": 0.5,
    "Clustering": 1
  },
  {
    "FirstWeight": -1,
    "SecondWeight": -1,
    "attr": "FirstLevel:display,none;FirstWeight:display,none;SecondLevel:display,none;SecondWeight:display,none;",
    "FirstLevel": "2. معیارهای معاملاتی",
    "Hidden1": "2         ",
    "SecondLevel": "2.3 نفدشوندگی سهام در بورس",
    "Hidden2": "203       ",
    "ThirdLevel": "2.3.2 تعداد روزهای معامله شده در ​​سال جاری",
    "Hidden3": "10095     ",
    "ProfileCode": "1",
    "ThirdWeight": 0,
    "FirstEffectiveWeight": 0,
    "SecondEffectiveWeight": 0,
    "ThirdEffectiveWeight": 0,
    "Clustering": 1
  },
  {
    "FirstWeight": -1,
    "SecondWeight": -1,
    "attr": "FirstLevel:display,none;FirstWeight:display,none;SecondLevel:display,none;SecondWeight:display,none;",
    "FirstLevel": "2. معیارهای معاملاتی",
    "Hidden1": "2         ",
    "SecondLevel": "2.3 نفدشوندگی سهام در بورس",
    "Hidden2": "203       ",
    "ThirdLevel": "2.3.3 متوسط تعداد روزهای معامله شده در سال",
    "Hidden3": "10131     ",
    "ProfileCode": "1",
    "ThirdWeight": 15,
    "FirstEffectiveWeight": 50,
    "SecondEffectiveWeight": 25,
    "ThirdEffectiveWeight": 3.75,
    "Clustering": 1
  },
  {
    "FirstWeight": -1,
    "SecondWeight": -1,
    "attr": "FirstLevel:display,none;FirstWeight:display,none;SecondLevel:display,none;SecondWeight:display,none;",
    "FirstLevel": "2. معیارهای معاملاتی",
    "Hidden1": "2         ",
    "SecondLevel": "2.3 نفدشوندگی سهام در بورس",
    "Hidden2": "203       ",
    "ThirdLevel": "2.3.4 تعداد معاملات در سال جاری",
    "Hidden3": "10135     ",
    "ProfileCode": "1",
    "ThirdWeight": 0,
    "FirstEffectiveWeight": 0,
    "SecondEffectiveWeight": 0,
    "ThirdEffectiveWeight": 0,
    "Clustering": 1
  },
  {
    "FirstWeight": -1,
    "SecondWeight": 0,
    "attr": "FirstLevel:display,none;FirstWeight:display,none;SecondLevel:rowspan,4;SecondWeight:rowspan,4;",
    "class": "not-editable-row",
    "FirstLevel": "2. معیارهای معاملاتی",
    "Hidden1": "2         ",
    "SecondLevel": "2.4 قیمت سهام در بورس",
    "Hidden2": "204       ",
    "ThirdLevel": "2.4.1 قیمت پابانی",
    "Hidden3": "10185     ",
    "ProfileCode": "1",
    "ThirdWeight": 0,
    "FirstEffectiveWeight": 0,
    "SecondEffectiveWeight": 0,
    "ThirdEffectiveWeight": 0,
    "Clustering": 1
  },
  {
    "FirstWeight": -1,
    "SecondWeight": -1,
    "attr": "FirstLevel:display,none;FirstWeight:display,none;SecondLevel:display,none;SecondWeight:display,none;",
    "class": "not-editable-row",
    "FirstLevel": "2. معیارهای معاملاتی",
    "Hidden1": "2         ",
    "SecondLevel": "2.4 قیمت سهام در بورس",
    "Hidden2": "204       ",
    "ThirdLevel": "2.4.3 پایین ترین قیمت در 52 هفته گذشته",
    "Hidden3": "10304     ",
    "ProfileCode": "1",
    "ThirdWeight": 0,
    "FirstEffectiveWeight": 0,
    "SecondEffectiveWeight": 0,
    "ThirdEffectiveWeight": 0,
    "Clustering": 1
  },
  {
    "FirstWeight": -1,
    "SecondWeight": -1,
    "attr": "FirstLevel:display,none;FirstWeight:display,none;SecondLevel:display,none;SecondWeight:display,none;",
    "class": "not-editable-row",
    "FirstLevel": "2. معیارهای معاملاتی",
    "Hidden1": "2         ",
    "SecondLevel": "2.4 قیمت سهام در بورس",
    "Hidden2": "204       ",
    "ThirdLevel": "2.4.4 متوسط قیمت در 12 هفته گذشته",
    "Hidden3": "10312     ",
    "ProfileCode": "1",
    "ThirdWeight": 0,
    "FirstEffectiveWeight": 0,
    "SecondEffectiveWeight": 0,
    "ThirdEffectiveWeight": 0,
    "Clustering": 1
  },
  {
    "FirstWeight": -1,
    "SecondWeight": 0,
    "attr": "FirstLevel:display,none;FirstWeight:display,none;SecondLevel:rowspan,5;SecondWeight:rowspan,5;",
    "FirstLevel": "2. معیارهای معاملاتی",
    "Hidden1": "2         ",
    "SecondLevel": "2.5 بازدهی سهام در بورس",
    "Hidden2": "205       ",
    "ThirdLevel": "2.5.1 آخرین بازده روزانه (%)",
    "Hidden3": "10186     ",
    "ProfileCode": "1",
    "ThirdWeight": 0,
    "FirstEffectiveWeight": 0,
    "SecondEffectiveWeight": 0,
    "ThirdEffectiveWeight": 0,
    "Clustering": 1
  }
]

Mohammad

Upvotes: 0

Views: 830

Answers (1)

Rashmin Javiya
Rashmin Javiya

Reputation: 5222

Better if you create strongly typed class.

public class Data
{
    public int FirstWeight { get; set; }
    public int SecondWeight { get; set; }
    public string attr { get; set; }
    public string FirstLevel { get; set; }
    public string Hidden1 { get; set; }
    public string SecondLevel { get; set; }
    public string Hidden2 { get; set; }
    public string ThirdLevel { get; set; }
    public string Hidden3 { get; set; }
    public string ProfileCode { get; set; }
    public int ThirdWeight { get; set; }
    public int FirstEffectiveWeight { get; set; }
    public int SecondEffectiveWeight { get; set; }
    public double ThirdEffectiveWeight { get; set; }
    public int Clustering { get; set; }
}

And convert like

JavaScriptSerializer serializer = new JavaScriptSerializer();
List<Data> lstValues = serializer.Deserialize<List<Data>>(cw_stringData);

Upvotes: 3

Related Questions