C# 如何将对象的JSON数组转换为包含数组的对象
我使用json.NET编写了json序列化,如下所示:C# 如何将对象的JSON数组转换为包含数组的对象,c#,json,json.net,C#,Json,Json.net,我使用json.NET编写了json序列化,如下所示: { "data": [ { "A": "1", "B": "4" }, { "A": "2", "B": "5" }, { "A": "3", "B": "6" } ] } 你知道如何从
{
"data": [
{
"A": "1",
"B": "4"
},
{
"A": "2",
"B": "5"
},
{
"A": "3",
"B": "6"
}
]
}
你知道如何从多个键更改为一个具有多个值的键吗
{
"data": {
"A": [
"1",
"2",
"3"
],
"B": [
"4",
"5",
"6"
]
}
}
提前感谢。使用Json.Net的API,您可以非常轻松地做到这一点:
JObject obj=JObject.Parse(json);
obj[“数据”]=新作业对象(obj[“数据”]
.儿童()
.SelectMany(jo=>jo.Properties())
.GroupBy(jp=>jp.Name)
.Select(g=>newjproperty(g.Key,newjarray(g.Values())));
Console.WriteLine(obj.ToString());
小提琴:欢迎来到stackoverflow!此网站帮助您解决代码问题。当您得到与预期不同的结果或出现错误时,可以在此处发布代码。您还应该描述您得到的结果以及预期结果和/或提供错误详细信息。之后,社区将帮助你解决问题,有时还会给你一些指导。这就是stackoverflow的工作原理。正如你所看到的,你的问题并没有包含所有适当的信息。如果您想获得帮助,请编辑您的问题并添加代码以及其他必需信息。
JObject obj = JObject.Parse(json);
obj["data"] = new JObject(obj["data"]
.Children<JObject>()
.SelectMany(jo => jo.Properties())
.GroupBy(jp => jp.Name)
.Select(g => new JProperty(g.Key, new JArray(g.Values()))));
Console.WriteLine(obj.ToString());