2014-02-08 66 views
2

此代碼會生成意外字符的異常。這段代碼有什麼問題? 錯誤是:類型的異常「Newtonsoft.Json.JsonReaderException」發生Newtonsoft.Json.DLL但在用戶代碼Json解析器異常解析值時遇到意外字符:S.路徑'',第0行,位置0

附加信息沒有被處理的:在解析 值意外字符遇到:S.路徑' 」,第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

類型searchUrl的是URI。 –

回答

3

HttpClient.GetStringAsync返回Task<string>

你不要等待它完成,而不是你叫.ToString()就可以了,這很可能是兩種:

  • 返回的Task<T>
  • 返回內部的一些字符串表示的全名在Task<T>型(不可能

因此,您有什麼不JSON文檔,但任務字符串,然後嘗試反序列化Ĵ兒子從。

嘗試:

string page = await http.GetStringAsync(searchUrl); 

或:

string page = http.GetString(searchUrl).Result; 
+0

好的非常感謝你! –

相關問題