在我的Windows Phone 8应用程序中,我有以下代码:
private static async Task<string> GetJson(string url, string param)
{
try
{
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, url + param);
HttpResponseMessage response = await client.SendAsync(request);
string responseBodyAsText = await response.Content.ReadAsStringAsync();
return responseBodyAsText;
}
catch (Exception e)
{
Debug.WriteLine(e.StackTrace);
return null;
}
}
除了一件事,这种方法效果很好;所有内容都没有被Content.ReadStringAsync() - 方法捕获。
这是API回复请求的格式:
JSON
-embedded
-messages[]
-links
当与像Fiddler这样的客户端做请求时,我得到了完整的响应。但是我的Windows Phone应用程序只获取消息数组,而不是links-object。这会导致我的序列化程序失败,因为我缺少JSON对象的一部分。
有谁知道为什么会这样?如果需要,我可以提供额外的代码。
答案 0 :(得分:0)
您可以直接尝试 response.Content.ReadAsAsync(),而不是将响应作为字符串检索,然后将其解析为对象。