最新的项目用到了JSON,需要在后台处理JSON,请各位指教,代码如下:        WebRequest wr = WebRequest.Create("http://api.map.baidu.com/ag/coord/convert?from=2&to=4&x=116.254615&y=29.814476");
        wr.Proxy = proxy;
        WebResponse wp = wr.GetResponse();
        Stream s = wp.GetResponseStream();
        StreamReader sr = new StreamReader(s);
        string str = sr.ReadToEnd();
        Response.Write(str[2]);
        sr.Dispose();
        s.Dispose();WebRequest wr = WebRequest.Create("http://api.map.baidu.com/ag/coord/convert?from=2&to=4&x=116.254615&y=29.814476");
上面这串返回的是{"error":0,"x":"MTE2LjI2MTA5OTEyMjE=","y":"MjkuODIwNTYwODc0ODQ2"},请问在VS2005里面用C#怎么提取出X和Y的值。

解决方案 »

  1.   


    下载 JSON.NET 2.0.。。
    JSON.NET正反序列化。。
      

  2.   

    Newtonsoft.JsonVS2005可以用。
      

  3.   

                
    string jsonText ={"error":0,"x":"MTE2LjI2MTA5OTEyMjE=","y":"MjkuODIwNTYwODc0ODQ2"};  JsonReader reader = new JsonReader(new StringReader(jsonText));Response.Write("TokenType\t\tValueType\t\tValue");
    Response.Write(reader.TokenType.ToString());
    Response.Write(reader.ValueType.ToString());
    Response.Write(reader.Value.ToString());是这样操作吗?
      

  4.   


    建一个实体类。。
    比如类名叫:Class1  public string error { get; set; }        public string x { get; set; }        public string y { get; set; }
      string jsonText ="{\"error\":0,\"x\":\"MTE2LjI2MTA5OTEyMjE=\",\"y\":\"MjkuODIwNTYwODc0ODQ2\"}";
                Class1 test = (Class1)JavaScriptConvert.DeserializeObject(jsonText, typeof(Class1));
                Response.Write(test.error + "<br/>" + test.x + "<br/>" + test.y);