c#解析json中的数组

本文关键字:数组 json 解析 | 更新日期: 2023-09-27 17:51:19

我有以下json结构:

{
    [{
        "name": "2542",
        "type": "FOLDER",
        "size": 0,
        "time": 0,
        "items": [{
            "name": "10-1432927746000.ksf",
            "type": "FILE",
            "size": 225,
            "time": 1433019520,
            "items": null,
            "info": {
                "seller": 10,
                "count": 2
            }
        }],
        "info": null
    }]
}

我如何用c#解析它?我已经尝试var results = JsonConvert.DeserializeObject<dynamic>(json),但结果是一个错误:

无效的属性标识符字符:[。路径",第一行,位置1.

c#解析json中的数组

作为@Stephen awanswer的补充,您还可以只使用内部数组,就像这个示例一样。

[{
        "name": "2542",
        "type": "FOLDER",
        "size": 0,
        "time": 0,
        "items": [{
            "name": "10-1432927746000.ksf",
            "type": "FILE",
            "size": 225,
            "time": 1433019520,
            "items": null,
            "info": {
                "seller": 10,
                "count": 2
            }
        }],
        "info": null
    }]

无论如何,问题似乎是你原来的json真的。div =)

JSON张贴不lint所以我怀疑这是你的问题的根源。

{
    "things":[{
        "name": "2542",
        "type": "FOLDER",
        "size": 0,
        "time": 0,
        "items": [{
            "name": "10-1432927746000.ksf",
            "type": "FILE",
            "size": 225,
            "time": 1433019520,
            "items": null,
            "info": {
                "seller": 10,
                "count": 2
            }
        }],
        "info": null
    }]
}

注意最外层的数组现在有一个必需的标识符;也就是说,你解析的对象将有一个things属性,这是一个内部结构的数组。