本文介绍了我该如何合并两个JObject?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个第一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);
}

这篇关于我该如何合并两个JObject?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 18:12