我只会反序列化这种:{"ret":1,","type":"","desc":""}像这种:{"status":0,"result":{"location":{"lng":107.49497344659,"lat":31.214198858945},"precise":0,"confidence":10,"level":"\u57ce\u5e02"}}
我觉得太高深了!!!大神们指教啊!!!

解决方案 »

  1.   

    对象属性还是对象嘛:
    假设你定义的顶层对象是:info那就是
    求ing就是:
    info.reuslt.location.ing 
    那C#也是类似定义的。
      

  2.   

    直接在前台使用JS脚本eval,将字符串转换为JSON对象,直接以对象方式访问就行了。var json = eval(data);
    var status= json.status;
    var result= json.result;
    var lng= result.result;
      

  3.   

    引用Newtonsoft.Json.dll,下载地址:http://download.csdn.net/detail/guwei4037/5853053
    class Program
        {
            static void Main(string[] args)
            {
                string json = "{'status':0,'result':{'location':{'lng':107.49497344659,'lat':31.214198858945},'precise':0,'confidence':10,'level':'\u57ce\u5e02'}}";
                Data data = JsonConvert.DeserializeObject<Data>(json);
                Console.WriteLine(data.result.location.lat);//输出 31.214198858945
            }
        }    public class Data
        {
            public int status { get; set; }
            public Result result { get; set; }
        }    public class Result
        {
            public Location location { get; set; }
            public int precise { get; set; }
            public int confidence { get; set; }
            public string level { get; set; }
        }    public class Location
        {
            public double lng { get; set; }
            public double lat { get; set; }
        }