REST服务 - JSON反序列化错误:遇到意外字符'<'

das*_*tnr 1 rest json.net bing-maps deserialization

    public async void MakeRequest(string requestUrl)
    {
        try
        {
            HttpWebRequest request = WebRequest.Create(requestUrl) as HttpWebRequest;
            using (HttpWebResponse response = await request.GetResponseAsync() as HttpWebResponse)
            {
                if (response.StatusCode != HttpStatusCode.OK)
                    throw new Exception(string.Format(
                    "Server error(HTTP {0}:{1}.",
                    response.StatusCode,
                    response.StatusDescription));
                DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(RootObject));
                object objResponse = jsonSerializer.ReadObject(response.GetResponseStream());
                root = (RootObject)objResponse;

                if (root == null)
                    this.Frame.Navigate(typeof(MainPage));
            }
        }
        catch (Exception ex)
        {
            ThrowException(ex);
        }
    }
Run Code Online (Sandbox Code Playgroud)

链接:http://dev.virtualearth.net/REST/V1/Routes?wp.0=39.920829,32.853883&wp.1=39.877666,32.864728&key=BingMapsKey

我的上述代码有什么问题吗?

Meh*_*ard 5

只需更改此行即可使用JSON而不是XML格式进行查询

所以......

string query = "http://dev.virtualearth.net/REST/v1/Locations/" +         
               queryString + "?output=xml" + " &key=" + BingMapsKey;
Run Code Online (Sandbox Code Playgroud)

对此......

string query = "http://dev.virtualearth.net/REST/v1/Locations/" +
               queryString + "?output=json" + " &key=" + BingMapsKey;
Run Code Online (Sandbox Code Playgroud)

即只是output=xml改为output=json