从json字符串中删除前置的“数据”

Cas*_*ton 0 c# json json.net

我正在调用第三方API,返回的json字符串如下所示:

{
  "data":[
          {"id":197567,"name":"101","url":"http://www.foobar1.com"},
          {"id":197568,"name":"102","url":"http://www.foobar2.com"},
          .....
          {"id":197569,"name":"120","url":"http://www.foobar20.com"}
        ],
  "offset":0,
  "pageSize":2,
  "count":20
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个课FoorBarURIs

private class FoorBarURLs
{
    public int id { get; set; }
    public string name { get; set; }
    public string url { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

因此,我不在乎the offset或the pagesize或the count。我需要的只是里面的数据data

鉴于我刚开始只是一个字符串,如何从中提取该列表,data以便执行此操作:

List<FoorBarURLs> myList = JsonConvert.DeserializeObject<List<FoorBarURLs>>(???)
Run Code Online (Sandbox Code Playgroud)

Ese*_*ser 5

使用临时JObject

var obj = JObject.Parse(json)["data"].ToObject<List<FoorBarURLs>>();
Run Code Online (Sandbox Code Playgroud)

  • @ CaseyCrookston`Newtonsoft.Json.Linq.JObject` (2认同)