每次我尝试解析 JSON 时都会遇到此异常:
Unhandled exception. Newtonsoft.Json.JsonReaderException: Error reading JObject from JsonReader. Current JsonReader item is not an object: StartArray. Path '', line 1, position 1.
at Newtonsoft.Json.Linq.JObject.Load(JsonReader reader, JsonLoadSettings settings)
at Newtonsoft.Json.Linq.JObject.Parse(String json, JsonLoadSettings settings)
at Newtonsoft.Json.Linq.JObject.Parse(String json)
at ai.Program.Main(String[] args) in /home/asdf/RiderProjects/ai/ai/Program.cs:line 19
Run Code Online (Sandbox Code Playgroud)
我的一些代码
url2 = "img";
var client = new RestClient("example.org?url=" + url2);
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
dynamic epic = JObject.Parse(response.Content);
string stuff = epic.stuff;
Console.WriteLine(stuff);
Run Code Online (Sandbox Code Playgroud)
那不是 a JObject,那是 a JArray,您可以通过整个响应周围的方括号来判断。在做任何事情之前你需要先解决这个问题。
JArray arr = JArray.Parse(response.Content);
请参阅我的 dotnetfiddle 和您的确切对象:https ://dotnetfiddle.net/PGZcay