C# 如何组合Newtonsoft JSON.Net中两个作业对象的两个数组?

C# 如何组合Newtonsoft JSON.Net中两个作业对象的两个数组?,c#,json.net,C#,Json.net,我有两个类似的JSON对象,我在上面运行了JObject.FromObject() 在每个对象中都有一个具有其他对象数组的属性,如下所示: 文件1 文档2 我有两个这样的对象,正在尝试将数据字段从一个添加到另一个中-基本上是将数据从一个“数据”属性的数组添加到另一个属性的数组中 最终结果应该是这样的: { "Title": "Alpha", "data": [ { "Id": "Fox2", "Field": "King6", "Value":

我有两个类似的JSON对象,我在上面运行了
JObject.FromObject()

在每个对象中都有一个具有其他对象数组的属性,如下所示:

文件1 文档2 我有两个这样的对象,正在尝试将数据字段从一个添加到另一个中-基本上是将数据从一个“数据”属性的数组添加到另一个属性的数组中

最终结果应该是这样的:

{
  "Title": "Alpha",
  "data": [
    {
      "Id": "Fox2",
      "Field": "King6",
      "Value": "Alpha",
      "Description": "Tango"
    },
    {
      "Id": "Kilo",
      "Field": "Echo",
      "Value": "Romeo",
      "Description": "Jester"
    }
  ]
}
我试图做到这一点,而不是反序列化和组合字符串等

我尝试过这方面的变化:

var data = JObject.FromObject(doc1);
var editData = JObject.FromObject(doc2);


foreach (var editItem in editData.Property("data").Children())                                
   {
      data.Property("data").Add(editItem.Children());
   }
但是,我不断遇到这样的错误:

Newtonsoft.Json.Linq.JProperty不能有多个值


我应该如何尝试组合数组?

为什么不在最后一个对象中包含
“Title”:“Bravo”,

我会这样做:

var j1 = (JObject)JsonConvert.DeserializeObject(json1);
var j2 = (JObject)JsonConvert.DeserializeObject(json2);

var jArray = new JArray(j1, j2);
var str = jArray.ToString();
编辑

var final = JsonConvert.SerializeObject( 
                new {Title=j1["Title"], data=j1["data"].Union(j2["data"])},
                Newtonsoft.Json.Formatting.Indented);

为什么不在最后一个对象中包含
“Title”:“Bravo”

我会这样做:

var j1 = (JObject)JsonConvert.DeserializeObject(json1);
var j2 = (JObject)JsonConvert.DeserializeObject(json2);

var jArray = new JArray(j1, j2);
var str = jArray.ToString();
编辑

var final = JsonConvert.SerializeObject( 
                new {Title=j1["Title"], data=j1["data"].Union(j2["data"])},
                Newtonsoft.Json.Formatting.Indented);

我把我实际使用的文件简化了(它们确实有更多的字段,而不仅仅是标题和数据。不幸的是,在这种情况下,直接完全合并它们不是一个选项。我需要将两个数据字段合并到一个数组中。不过,谢谢。@ServareVita3请看编辑。这正是您想要的,但仍然很奇怪。我会尝试一下,让您知道。谢谢!我把文档简化了。)我实际上用的是什么(它们确实有更多的字段,而不仅仅是标题和数据。不幸的是,在这种情况下,直接将它们完全合并不是一个选项。我需要将两个数据字段合并到一个数组中。不过,谢谢。@Servarevita3查看编辑。这正是您想要的,但仍然很奇怪。我会尝试一下,让您知道。谢谢!