首页 新闻 搜索 专区 学院

.Net 2.0里怎么解析Json啊?

0
悬赏园豆:30 [已解决问题] 解决于 2013-03-14 14:10

{name:"aa",sex:"男"}

对方发来的这种格式的字符串,怎么解析啊?

 

 

   JsonTextReader reader = new JsonTextReader(new StreamReader({name:"aa",sex:"男"}));
            while (reader.Read())
            {
                reader.Value.ToString();
            }

 

这种方法读的value连name 和sex字段都一起读出来了,怎么根据指定字段读对应的值啊?

Dellienware的主页 Dellienware | 初学一级 | 园豆:39
提问于:2013-03-10 21:57
< >
分享
最佳答案
1

运用 http://json.codeplex.com/

string json = new System.IO.StreamReader(this.HttpContext.Request.InputStream).ReadToEnd();
var jsondataObject=Newtonsoft.Json.JsonConvert.DeserializeObject(json);
这样可以得到一个对象,很方便操作

收获园豆:15
Yu | 专家六级 |园豆:12944 | 2013-03-10 22:09
其他回答(3)
0

反序列化就可以转成对应的对象了

杜昊东 | 园豆:246 (菜鸟二级) | 2013-03-11 07:26
1

参考:http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-json.html

//数组型数据
string jsonArrayText1 = "[{'a':'a1','b':'b1'},{'a':'a2','b':'b2'}]";
JArray ja = (JArray)JsonConvert.DeserializeObject(jsonArrayText1);
string ja1a = ja[1]["a"].ToString();
//或者
JObject o = (JObject)ja[1];
string oa = o["a"].ToString();

//嵌套格式
string jsonText = "{\"beijing\":{\"zone\":\"海淀\",\"zone_en\":\"haidian\"}}";
JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText);
string zone = jo["beijing"]["zone"].ToString();
string zone_en = jo["beijing"]["zone_en"].ToString();

 

 

收获园豆:15
滴答的雨 | 园豆:3690 (老鸟四级) | 2013-03-11 09:17
0

使用JSON.NET:http://json.codeplex.com/ 支持多个.NET版本包括2.0在内,这个类库是开源的,而且比微软自带的效率要高。

gyzhao | 园豆:89 (初学一级) | 2013-03-14 13:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册