json是种常见的数据交换格式,在.net中怎么解析这种格式的字符串呢?下面给出C#版的简单介绍:
1、下载Newtonsoft.Json.dll,并添加对该dll的引用。
2、引入命名空间,代码如下:
using Newtonsoft.Json;
3、解析json关键代码如下:
//json数据 string data ="{\"return_code\":0,\"return_message\":\"success\",\"data\":[{\"id\":\"1\",\"question\":\"如何得到天元神石?\"},{\"id\":\"2\",\"question\":\"翡翠红石是谁?\"},{\"id\":\"3\",\"question\":\"角斗场是什么?\"},{\"id\":\"4\",\"question\":\"北部断层在哪?\"},{\"id\":\"5\",\"question\":\"欢乐令是什么?\"},{\"id\":\"6\",\"question\":\"翡翠红石在哪交?\"},{\"id\":\"7\",\"question\":\"南部断层在哪?\"},{\"id\":\"8\",\"question\":\"大妖魔令牌是什么?\"},{\"id\":\"9\",\"question\":\"神工坊是什么?\"},{\"id\":\"10\",\"question\":\"警戒妖珠是什么?\"}]}"; object obj = JavaScriptConvert.DeserializeObject(data); JavaScriptObject js = obj as JavaScriptObject; if (null == js) return rtn; string code = js["return_code"].ToString(); if (string.IsNullOrEmpty(code) || code != "0") return rtn; JavaScriptArray arr = js["data"] as JavaScriptArray; if (null==arr||arr.Count < 1) return rtn; List<string> listData = new List<string>(); for (int i = 0; i < arr.Count; i++) { JavaScriptObject jo = arr[i] as JavaScriptObject; listData.Add(jo["question"].ToString()); } return listData;
主要用到的类:JavaScriptConvert,JavaScriptObject 和 JavaScriptArray 。