{"address":"CN|\u5409\u6797|\u957f\u6625|None|CERNET|1|None","content":{"address_detail":{"province":"\u5409\u6797\u7701","city":"\u957f\u6625\u5e02","district":"","street":"","street_number":"","city_code":53},"address":"\u5409\u6797\u7701\u957f\u6625\u5e02","point":{"y":"5419815.34","x":"13950002.65"}},"status":0}这个怎么处理,转换成对象或者字典?“\u5409\u6797” 这个是什么编码?JS读取是文字,c#是“\u5409\u6797” 。谢谢各位大侠了我读取的方法1        var webClient=new WebClient();
        webClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于向Internet资源的请求进行身份验证的网络凭据
        Byte[] bytes = webClient.DownloadData("http://api.map.baidu.com/location/ip?ak=F454f8a5efe5e577997931cc01de3974&ip=202.198.16.3");        string pageHtml = Encoding.Default.GetString(bytes);  //如果获取网站页面采用的是GB2312,则使用这句 
       // string pageHtml = Encoding.UTF8.GetString(bytes); //如果获取网站页面采用的是UTF-8,则使用这句           Response.Write(pageHtml);
我读取的方法2
 public static string GetCitybyIp(string data,string method)
    {
        string url = "http://api.map.baidu.com/location/ip?ak=F454f8a5efe5e577997931cc01de3974&ip=" + data;
         System.Net.HttpWebRequest request;// 创建一个HTTP请求
         request = (System.Net.HttpWebRequest)WebRequest.Create(url);//
        request.Method="get";System.Net.HttpWebResponse response;
        response = (System.Net.HttpWebResponse)request.GetResponse();
        System.IO.StreamReader myreader = new System.IO.StreamReader(response.GetResponseStream(), Encoding.GetEncoding("GB2312"));
        string responseText = myreader.ReadToEnd();
        myreader.Close();
        return responseText;
    }

解决方案 »

  1.   

    引用using System.Text.RegularExpressions;string x = Regex.Unescape("\u5409\u6797");
    输出结果:吉林
      

  2.   

    比如要读取address_detail 下的city, 这个怎么处理,转换成对象或者字典? 
      

  3.   


    哥们真有趣,我也知道这么弄。这不是想跟js读json一样读吗?这样读出来address.content.city为吉林
      

  4.   


      class Program
        {
            static void Main(string[] args)
            {
                //另注:保持属性的大小写一致
                Addresinfo info = new Addresinfo();
                string txt = File.ReadAllText("1.txt", Encoding.Default);
                info = JsonToObject(txt, info) as Addresinfo;
                Console.WriteLine(info.content.address_detail.city);
                Console.Read();
            }
            // 从一个Json串生成对象信息
            static object JsonToObject(string jsonString, object obj)
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
                MemoryStream mStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
                return serializer.ReadObject(mStream);
            }
        }    public class Addresinfo
        {
            public string address { get; set; }
            public content content { get; set; }
            public string status { get; set; }
        }    public class content
        {
            public address_detail address_detail { get; set; }
            public string address { get; set; }
            public point point { get; set; }
        }    public class point
        {
            public string Y { get; set; }
            public string X { get; set; }
        }    public class address_detail
        {
            public string province { get; set; }
            public string city { get; set; }
            public string district { get; set; }
            public string street { get; set; }
            public string street_number { get; set; }
            public string city_code { get; set; }
        }
      

  5.   


    哥们真有趣,我也知道这么弄。这不是想跟js读json一样读吗?这样读出来address.content.city为吉林

    你自己问题都说不清楚.
      

  6.   

    你说 反序列化json不就行了 扯 那么多