C#在json中解析数组

时间:2015-05-31 12:14:52

标签: c# json

我有以下1.00 PM $1.1 NULL $2.0 结构:

json

如何用C#解析它?我试过{ [{ "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 }] } ,但结果是错误:

  

无效的属性标识符字符:[。路径'',第1行,第1位。

2 个答案:

答案 0 :(得分:3)

发布的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
    }]
}

注意最外面的数组现在有一个标识符which is required;也就是说你的解析对象将具有things属性,该属性是该内部结构的数组。

答案 1 :(得分:3)

补充@Stephen awswer,你可以只使用内部数组,就像在this sample中一样。

[{
        "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真的。 =)