小编典典

如何合并两个JObject?

json

我有第一个json:

{
    "data": [{
      "id": "id1",
      "field": "field1"
    }],
    "paging": {
        "prev": "link1",
    }
}

第二个:

{
    "data": [{
      "id": "id2",
      "field": "field2"
    }],
    "paging": {
        "prev": "link2",
    }
}

我想合并/合并两个数据数组,例如:

{
    "data": [{
      "id": "id1",
      "field": "field1"
    },
    {
      "id": "id2",
      "field": "field2"
    }]  
}

(我现在不在乎paging)。

如何快速简便地做到这一点?这是我的尝试:

var final = JsonConvert.SerializeObject(new { data = json1["data"].Union(json2["data"]) }, Newtonsoft.Json.Formatting.Indented).ToString();

但是会引发异常: 'Newtonsoft.Json.Linq.JArray' does not contains a definition of 'Union'


阅读 710

收藏
2020-07-27

共1个答案

小编典典

JArray dataOfJson1=json1.SelectToken(“data”);

JArray dataofJson2=json2.SelectToken("data");

foreach(JObject innerData in dataofJson2) 
{
    dataOfJson1.Add(innerData);
}
2020-07-27