Tôi đang cố gắng để tải về một chuỗi JSON trong Windows App Store của tôi mà sẽ trông như thế này:Tải về một JSON String trong C#
{
"status": "okay",
"result": {"id":"1",
"type":"monument",
"description":"The Spire",
"latitude":"53.34978",
"longitude":"-6.260316",
"private": "{\"tag\":\"david\"}"}
}
nhưng tôi nhận được những gì trông giống như thông tin về máy chủ. Đầu ra tôi nhận được như sau:
Response: StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
MS-Author-Via: DAV
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Date: Thu, 22 Nov 2012 15:13:53 GMT
Server: Apache/2.2.22
Server: (Unix)
Server: DAV/2
Server: PHP/5.3.15
Server: with
Server: Suhosin-Patch
Server: mod_ssl/2.2.22
Server: OpenSSL/0.9.8r
X-Powered-By: PHP/5.3.15
Content-Length: 159
Content-Type: text/json
}
Tôi đã xem xét và thấy rằng WebClient đã được sử dụng trước Windows 8 và bây giờ được thay thế bằng HttpClient. Vì vậy, thay vì sử dụng DownloadString(), tôi đã sử dụng Content.ReadAsString(). Dưới đây là chút mã tôi có cho đến thời điểm này:
public async Task<string> GetjsonStream()
{
HttpClient client = new HttpClient();
string url = "http://(urlHere)";
HttpResponseMessage response = await client.GetAsync(url);
Debug.WriteLine("Response: " + response);
return await response.Content.ReadAsStringAsync();
}
Bất kỳ ai biết tôi đang ở đâu sai? Cảm ơn bạn trước!
Vì bạn không sử dụng phản hồi cho bất kỳ điều gì khác. Tại sao bạn không chỉ sử dụng ['HttpClient.GetStringAsync'] (http://msdn.microsoft.com/en-us/library/hh551746.aspx)? – khellang