在 JSON.NET 中反序列化 Jarray

use*_*225 2 json json.net deserialization

我需要反序列化这个。

{"previous_cursor_str":"0","next_cursor":0,"ids":[741999686,240455509,126524150,143548100,124328422,624776268,393738125,587829914,280834485,64818350,282713007,90425850,759794,164401208,114771958,114364910,89725893],"previous_cursor":0,"next_cursor_str":"0"}    
Run Code Online (Sandbox Code Playgroud)

任何的想法?

gdp*_*gdp 5

它真的是一个 JObject,里面有一个 Id 数组。

首先,您可以创建一个类来表示这样的 json:

public class RootObject
{
    public string previous_cursor_str { get; set; }
    public int next_cursor { get; set; }
    public List<int> ids { get; set; }
    public int previous_cursor { get; set; }
    public string next_cursor_str { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后将 json 反序列化为您执行以下操作的对象:

var myJsonObject = JsonConvert.DeserializeObject<RootObject>(jsonString);
Run Code Online (Sandbox Code Playgroud)

或者,如果您只想要数组中的 id:

var obj = JObject.Parse(jsonstring);

var idArray = obj["ids"].Children().Select(s=>s.value<string>());
Run Code Online (Sandbox Code Playgroud)