首页 > 解决方案 > 将 JSON 对象转换为 JSON 数组,取第一级属性

问题描述

我有这个 JSON 对象

{
    "08f4f705-6e14-4781-8241-d04bf2dc6ada": {
        "description": "xxxxxxxx",
        "note": "yyyyyyyy"
     },
    "05f4f995-6e14-4567-8241-d04bf2d456ee": {
        "description": "aaaaaa",
        "note": "bbb"
     },
    "0675f995-6e14-4567-8241-d4567f2d456z": {
        "description": "fffff",
        "note": "gggg"
     }
}

我需要转换成这样的 JSON 数组:(元素应该是第一级属性的内容)

[
    {
       "description": "xxxxxxxx",
       "note": "yyyyyyyy"
    },
    {
       "description": "aaaaaa",
       "note": "bbb"
    },
    {
       "description": "fffff",
       "note": "gggg"
    }
] 

我无法操纵该对象,也没有找到合适的资源来关注。我该怎么做?

标签: c#jsonjson.net

解决方案


您可以通过将 json 字符串反序列化为Dictionary<string, object>

var obj = JsonConvert.DeserializeObject<Dictionary<string, object>>(json);

之后,您提取值并将它们序列化回 json:

var newJson = JsonConvert.SerializeObject(obj.Values);

推荐阅读