C#中的JSON反序列化错误

时间:2016-06-09 15:36:23

标签: c# json deserialization

我正在尝试在C#中反序列化一些JSON,但是当我运行我的程序时,我收到此错误消息:

enter image description here

我查看了所有代码,但找不到“<”在任何地方都不应该有一个,我去了json来自的网址: http://forecast.weather.gov/MapClick.php?lat=47.1211&lon=-88.5694&FcstType=json, 并且没有“<”字符。我使用json2csharp.com转换为C#类,一切似乎都很好。有什么想法吗?这是我的代码中我试图完成所有这些的部分:

var http = new HttpClient();
var url = "http://forecast.weather.gov/MapClick.php?lat=47.1211&lon=-88.5694&FcstType=json";
var response = await http.GetAsync(url);
var result = await response.Content.ReadAsStringAsync();
var serializer = new DataContractJsonSerializer(typeof(RootObject2));
var ms = new MemoryStream(Encoding.UTF8.GetBytes(result));
var data = (RootObject2)serializer.ReadObject(ms);
return data;

2 个答案:

答案 0 :(得分:1)

您的通话失败,因为您没有设置API预期的标头。在尝试阅读响应之前,添加用户代理并检查是否成功。

chrome://serviceworker-internals

答案 1 :(得分:0)

检查答案,它说连接存在一些问题,他没有收到来自API的完整回复

Unexpected character encountered while parsing value: