C#:Json字符串、JsonArray字符串處理

今天在作Asp網站開發的時候接受到了一種下面這種樣子的字符串:json

 1 "[
 2     {
 3         "mid": "123456",
 4         "nid": "321",
 5         "data": [
 6             {
 7                 "mid": "1",
 8                 "name": "111"
 9             },
10             {
11                 "mid": "2",
12                 "name": "222"
13             },
14             {
15                 "mid": "3",
16                 "name": "333"
17             },
18             {
19                 "mid": "4",
20                 "name": "444"
21             },
22             {
23                 "mid": "5",
24                 "name": "555"
25             }
26         ]
27     },
28     {
29         "mid": "123456",
30         "nid": "321",
31         "data": [
32             {
33                 "mid": "1",
34                 "name": "111"
35             },
36             {
37                 "mid": "2",
38                 "name": "222"
39             },
40             {
41                 "mid": "3",
42                 "name": "333"
43             },
44             {
45                 "mid": "4",
46                 "name": "444"
47             },
48             {
49                 "mid": "5", 
50                 "name": "555"
51             }
52         ]
53     }
54 ]"

查閱了資料發現 這種寫法的字符串實際上是一種Json數組,數組

Json數組格式爲:[{"name1":"value","name2":"value"},{"name1":"value","name2":"value"}];網站

而由"{ }"包括着的是一個Json對象。spa

咱們在開發中常常遇到的可能是這兩種格式的字符串。code

對於一個json對象格式的字符串:對象

直接使用JObject job =JObject.Parse("....."),就能夠轉換爲json對象;blog

而後使用 job["屬性名"]的方式就能夠取出其中一個一個的值。開發

由多個json對象組成的json數組格式的字符串:字符串

第一步:將jsonArray格式字符串轉換成JsonArray對象;string

第二步:遍歷JsonArray中的每一項(每一項都是一個Json對象);

第三步:和單個json對象的解析方式是同樣的。

 1 string hh ="[{\"mid\": \"123456\",\"nid\": \"321\",\"data\": [{\"mid\": \"1\",\"name\": \"111\" },{\"mid\": \"2\",\"name\": \"222\"}, {\"mid\": \"3\",\"name\": \"333\" },{\"mid\": \"4\",\"name\": \"444\"},{\"mid\": \"5\",\"name\": \"555\" }    ]},{\"mid\": \"123456\",\"nid\": \"321\",\"data\": [ {\"mid\": \"1\",\"name\": \"111\" }, {\"mid\": \"2\",\"name\": \"222\" }, {\"mid\": \"3\",\"name\": \"333\"},{\"mid\": \"4\",\"name\": \"444\" }, {\"mid\": \"5\", \"name\": \"555\" } ]}\r\n]";
 3             JArray jArray = JArray.Parse(hh);
 4             foreach (var jj in jArray)
 5             {
 6                 // string job= jj.ToString();
 7                 //JObject jObject=JObject.Parse(job);
 8                 JObject job = (JObject)jj;
 9                 JArray datArray = JArray.Parse(job["data"].ToString());
10                 foreach (var item in datArray)
11                 {
12                     JObject jdata = (JObject)item;
13                     string aa = jdata["mid"].ToString();
14                     string bb = jdata["name"].ToString();
15                 }
16             }

記錄下來,之後碰見相似的需求但願能用到!

相關文章
相關標籤/搜索