我该如何合并两个JObject?我该、两个、JObject

2023-09-02 01:37:44 作者:制冷少年。

我有一个第一JSON:

  {
    数据: [{
      ID:ID1,
      场:字段1
    }],
    分页:{
        $ P $光伏:链接1,
    }
}
 

和第二个

  {
    数据: [{
      ID:ID2,
      场:场2
    }],
    分页:{
        $ P $光伏:链接2,
    }
}
 

和我想合并/联合这两个数据阵列,如:

  {
    数据: [{
      ID:ID1,
      场:字段1
    },
    {
      ID:ID2,
      场:场2
    }]
}
 
五年时间节点,湖北成绩如何 未来怎么干 湖北日报 楚言 重磅发声

(我不关心约页面现在)。

我该怎么办呢快捷方便?这是我的尝试:

  VAR最终= JsonConvert.SerializeObject(新{数据= json1 [数据。联盟(json2 [数据])},Newtonsoft.Json.Formatting.Indented)。的ToString();
 

但会抛出一个异常:Newtonsoft.Json.Linq.JArray'不包含'联盟'

的定义 解决方案

  JArray dataOfJson1 = json1.SelectToken(数据);

JArray dataofJson2 = json2.SelectToken(数据);

的foreach(JObject的innerdata在dataofJson2)
{
    dataOfJson1.Add(的innerdata);
}
 

I have a first json:

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

and a second one:

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

and I want to merge/union the two Data array, such as:

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

(I don't care about about paging right now).

How can I do it quick and easy? This is my try:

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

but an Exception is raised: 'Newtonsoft.Json.Linq.JArray' does not contains a definition of 'Union'

解决方案

JArray dataOfJson1=json1.SelectToken("data");

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

foreach(JObject innerData in dataofJson2) 
{
    dataOfJson1.Add(innerData);
}