我有一个以下json。我想将所有嵌套的json对象合并为一个。
[
{
"2": "a",
"3": "a"
},
{
"2": "f",
"3": "a",
"4": "p"
},
{
"2": "n",
"3": "o",
"4": "t"
}
]
因此,以上json
的输出为
[
{
"0":"a",
"1":"a",
"2":"f",
"3":"a",
"4":"p",
"5":"n",
"6":"o",
"7":"t"
}
]
我试图解析json数组,然后添加所有值并将其附加到另一个数组。但是,还有其他优雅的解决方案可以将所有嵌套的json对象合并为一个吗?
答案 0 :(得分:2)
鉴于您需要更改索引,因此手动合并是不可避免的。
例如Linq的build
可用于合并:
SelectMany
答案 1 :(得分:1)
您可以使用名为json .net的工具 检查以下代码:
var serializer = new XmlSerializer(model.GetType());
serializer.Serialize(sw, model);
JObject o1 = JObject.Parse(@"{
'FirstName': 'John',
'LastName': 'Smith',
'Enabled': false,
'Roles': [ 'User' ]
}");
JObject o2 = JObject.Parse(@"{
'Enabled': true,
'Roles': [ 'User', 'Admin' ]
}");
o1.Merge(o2, new JsonMergeSettings
{
// union array values together to avoid duplicates
MergeArrayHandling = MergeArrayHandling.Union
});
string json = o1.ToString();
// {
// "FirstName": "John",
// "LastName": "Smith",
// "Enabled": true,
// "Roles": [
// "User",
// "Admin"
// ]
// }
请检查链接: https://www.newtonsoft.com/json/help/html/MergeJson.htm