此代码生成意外字符的异常。这段代码有什么问题? 错误是:Newtonsoft.Json.DLL中出现“Newtonsoft.Json.JsonReaderException”类型的异常,但未在用户代码中处理
其他信息:解析时遇到意外的字符 value:S。Path'',第0行,第0位。
HttpClient http = new System.Net.Http.HttpClient();
http.DefaultRequestHeaders.Add("accept", "Application/JSON");
var page = http.GetStringAsync(searchUrl);
var o = (JObject)JsonConvert.DeserializeObject(page.ToString());
答案 0 :(得分:3)
HttpClient.GetStringAsync会返回Task<string>
。
您不必等待它完成,而是在其上调用.ToString()
,这可能是:
Task<T>
类型Task<T>
类型的一些内部字符串表示形式(不太可能)因此,你所拥有的不是Json文档,而是任务字符串,然后你尝试从中反序列化Json。
尝试:
string page = await http.GetStringAsync(searchUrl);
或:
string page = http.GetString(searchUrl).Result;