如何将JSON对象数组转换为包含数组的对象



我用json序列化了json。

{
    "data": [
        {
            "A": "1",
            "B": "4"
        },
        {
            "A": "2",
            "B": "5"
        },
        {
            "A": "3",
            "B": "6"
        }
    ]
}

我怎么能从多个键更改为一个键与多个值像这样

{
    "data": {
        "A": [
            "1",
            "2",
            "3"
        ],
        "B": [
            "4",
            "5",
            "6"
        ]
    }
}

使用Json可以很容易地做到这一点。Net的LINQ-to-JSON API:

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());

小提琴:https://dotnetfiddle.net/dXCdlO

相关内容

  • 没有找到相关文章

最新更新