C# 重复问题:从JsonReader读取JObject时出错
我有一个天气应用程序,可以持续接收JSON格式的天气相关信息。到目前为止,我正在使用Newtonsoft检索和解析响应。不幸的是,我时不时会遇到一个让人困惑的错误 代码运行正常,但几小时后,我的应用程序引发异常并显示以下错误: 从JsonReader读取JObject时出错。路径“”,第0行,位置0。 JSON结构C# 重复问题:从JsonReader读取JObject时出错,c#,asp.net,parsing,json.net,restsharp,C#,Asp.net,Parsing,Json.net,Restsharp,我有一个天气应用程序,可以持续接收JSON格式的天气相关信息。到目前为止,我正在使用Newtonsoft检索和解析响应。不幸的是,我时不时会遇到一个让人困惑的错误 代码运行正常,但几小时后,我的应用程序引发异常并显示以下错误: 从JsonReader读取JObject时出错。路径“”,第0行,位置0。 JSON结构 { “天气”:{ “城市”:“西雅图” “温度”:“20” “学位”:“C” }, } 代码 当我想检索城市、温度或温度时,我就是这样做的=> var city=result[“we
{
“天气”:{
“城市”:“西雅图”
“温度”:“20”
“学位”:“C”
},
}
代码
当我想检索城市、温度或温度时,我就是这样做的=>
var city=result[“weather”][“city”].ToString()
var-temperature=result[“weather”][“temperature”]。ToString()
var degrees=result[“weather”][“degrees”]。ToString()
哪里出错了?在代码中,异常是从哪里抛出的?听起来可能服务器有时会返回一个不包含JSON的响应。您必须使用此服务器进行身份验证吗?可能是您的会话超时了吗?在尝试解析内容之前,您似乎没有检查请求是否成功。如果使用RestSharp,则
响应
对象上应该有一个issusccessful
布尔值,或者应该有一个StatusCode
可以查看。我也会检查以确保内容实际上是JSON。你说得很对。我可能需要检查statuscode
以确保它成功。是的,我正在使用Restsharp。我应该在我的帖子中指出这一点。
public static JObject GetWeather(string url)
{
var client = new RestClient(url);
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
var response = client.Execute(request);
var content = response.Content;
var result = JObject.Parse(content);
return result;
}