Json Parser异常解析值时遇到意外的字符:S。Path'',第0行,位置0

时间:2014-02-08 20:46:22

标签: c#

此代码生成意外字符的异常。这段代码有什么问题? 错误是: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());

1 个答案:

答案 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;