解决方案 »

  1.   

    把json 反序列号为C#对象搜索一下
    Newtonsoft.Json
      

  2.   

    返回的json是一个json序列化后的字符串,需要引用Newtonsoft.Json.dll进行解析,得到原来对象的字段和属性。
      

  3.   

    解析成对象,可以使用Json.net(http://james.newtonking.com/json),或者.net framework自带的DataContractJsonSerializer (http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer(v=vs.100).aspx)。 这里有一个DataContractJsonSerializer的例子    http://msdn.microsoft.com/en-us/library/bb412179(v=vs.110).aspx
      

  4.   

    用Newtonsoft.Json把里面的属性和对应的值解析出来
      

  5.   

    有一个解析例子:
    using Newtonsoft.Json;
      private string GetWeather()
            {            
                string getWeatherUrl = "http://www.weather.com.cn/data/cityinfo/101010100.html";  //取得今天天气预报
                WebRequest webReq = WebRequest.Create(getWeatherUrl);
                WebResponse webResp = webReq.GetResponse();
                Stream stream = webResp.GetResponseStream();
                StreamReader sr = new StreamReader(stream, Encoding.UTF8);
                string html = sr.ReadToEnd();
                sr.Close();
                stream.Close();
                return html;
            }调用 方法:
      string s = GetWeather();
                 //{ "weatherinfo": {  "city": "北京", "cityid": "101010100", "temp1": "2℃", "temp2": "10℃", "weather": "多云转阴",    "img1": "n1.gif",   "img2": "d2.gif",    "ptime": "18:00"  }}
                JObject jo = (JObject)JsonConvert.DeserializeObject(s);         
                string city = jo["weatherinfo"]["city"].ToString(); //北京
                string temp1 = jo["weatherinfo"]["temp1"].ToString();//2℃
                string temp2 = jo["weatherinfo"]["temp2"].ToString();//10℃
                ........
      

  6.   

    JSON 的优点
    在 Web 开发方面,JSON 与 XML 相比主要有两个优点。首先,它更加简洁。JSON 对象是一系列以逗号分隔的 name:value 对,最外面有一对花括号。相反,XML 则使用重复的开始和结束标记包装数据值。因此,与相应的 JSON 相比,这样便产生了两倍的元数据开销,所以 Crockford 将 JSON 趣称为 “XML 的无脂替代品”(请参阅 参考资料)。当处理 Web 开发的 “细管道” 时,每次减少一些字节都可以带来实在的性能好处。  清单 1 显示了 JSON 和 XML 如何组织相同的信息:  清单 1. 比较 JSON 和 XML{"city":"Denver", "state":"CO", "country":"US"}
    <result>   <city>Denver</city>   <state>CO</state>   <country>US</country></result>
      对于 Groovy 程序员来说,JSON 对象看上去应该更熟悉:如果将花括号换成方括号的话,在 Groovy 中就是定义一个 HashMap。说起方括号,定义 JSON 对象数组的方式与定义 Groovy 对象的方式是完全一样的。一个 JSON 数组就是一个以逗号分隔的系列,外面以方括号包围,如清单 2 所示:  清单 2. 一个 JSON 对象列表[{"city":"Denver", "state":"CO", "country":"US"}, {"city":"Chicago", "state":"IL", "country":"US"}]
      当解析和处理 JSON 时,就突出了 JSON 的第二个优点。将 JSON 装载到内存只需一个 eval() 调用。装载后,就可以通过名称直接访问任何字段,如清单 3 所示:  清单 3. 装载 JSON 和调用字段var json ='{"city":"Denver", state:"CO", country:"US"}'var result =eval( '(' + json + ')' )alert(result.city)
      Groovy 的 XmlSlurper 也允许直接访问 XML 元素。(您已经在 “Grails 服务和 Google 地图” 中使用过 XmlSlurper)。如果现代 Web 浏览器支持客户端 Groovy,我就不会对 JSON 这么感兴趣。不幸的是,Groovy 完全是一个服务器端解决方案。就客户机-服务器开发而言,JavaScript 是唯一选项。所以我选择在服务器端使用 Groovy 处理 XML,而在客户端则使用 JavaScript 处理 JSON。在这两种情况下,我都可以最轻松地得到数据。
      

  7.   

    自带的json序列化凡序列化类在System.web.script命名空间下。