我有一个第一个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"
}]
}
(我现在不在意分页)。
我该如何快速轻松地做到这一点?这是我的尝试:
var final = JsonConvert.SerializeObject(new { data = json1["data"].Union(json2["data"]) }, Newtonsoft.Json.Formatting.Indented).ToString();
但是会引发异常:'Newtonsoft.Json.Linq.JArray' 不包含 'Union' 的定义
dataObject1.SelectToken("data") as JArray
这样丑陋的代码变得更加简洁:(JArray)dataObject1["data"]
。 - el toroif (dataObject1["data"] is JArray jsonArr)
。因为它可以确保对象与类型匹配。否则,您可能会引入空对象引用异常。在我看来,防御性编程是最好的选择。 - ManselD