【发布时间】:2017-05-10 03:19:51
【问题描述】:
我在dynamic jsonText = JsonConvert.DeserializeObject(json); 收到以下错误
错误
解析值时遇到意外字符:
代码
string api = "https://api.linkedin.com/v1/people/~:(id,first-name,formatted-name,email-address)";
using (var webClient = new WebClient())
{
webClient.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + token);
var json = webClient.DownloadString(api );
dynamic jsonText = JsonConvert.DeserializeObject(json);
}
【问题讨论】:
-
这是因为服务器抛出错误并返回 HTML,可能是标准的 500 错误页面或 401。Html 无法反序列化为 JSON。你需要弄清楚错误是什么并纠正它。
-
我得到的输出是一个 XML。它被Linkedin退回。我该如何解决这个问题。
-
首先,实际查看您的
json变量并读取它,看看它是否是一个错误的html 页面。如果不是,则反序列化 xml,因为这可能是您根据 FRL 的回答和您的回答所能获得的全部内容。 (见此)[newtonsoft.com/json/help/html/ConvertXmlToJson.htm] -
@Illep,FRL 正在做某事。您应该阅读该答案中链接到的文档。
标签: c# json deserialization linkedin-api