我试图调用一个url,抓住返回的json并解析它以提取信息。
这是我在C#windows store app中的代码。
var client = new HttpClient();
var uri = new Uri("http://api.geonames.org/citiesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&lang=de&username=demo");
string jsonstring = await client.GetStringAsync(uri);
var parsedResponse = JsonArray.Parse(jsonstring);
在这一行我收到以下错误:
mscorlib.dll
中出现未处理的“System.Exception”类型异常WinRT信息:位置0的字符无效。
其他信息:无效的JSON字符串。
答案 0 :(得分:1)
如果你在http://jsonlint.com/尝试Json验证器,JSON似乎是有效的,你应该尝试JSON .NET是最常用的库,用于在.NET http://james.newtonking.com/pages/json-net.aspx中使用JSON。
我也看到你正在调用JsonArray.Parse
我不是在起诉但是它让我认为它期待一个数组[]
,但响应是一个对象{}
。如果有方法JsonObject.Parse
,它可能适合您。
答案 1 :(得分:0)
这是因为返回的String是JSON对象而不是Array。试试这个
var parsedResponse = JsonObject.Parse(jsonstring);