按名称抓取JSON对象

时间:2012-10-29 21:13:21

标签: json

我有一个具有以下结构的json对象:

[
{
"filters": [
    {
        "name": "category",
        "list": [
            {
                "category-abc": {
                    "title": "abc",
                    "number": "2"
                }
            },
            {
                "category-def": {
                    "title": "def",
                    "number": "1"
                }
            }
        ]
    },
    {
        "name": "topic",
        "list": [
            {
                "topic-abc": {
                    "title": "abc",
                    "number": "6"
                }
            },
            {
                "topic-def": {
                    "title": "def",
                    "number": "5"
                }
            }
        ]
    },
}
]

列表实际上要长得多,名字很多列表对。我希望抓住每个列表,因为我遍历列表名称数组,但不想每次都走这个列表,所以我想按名称获取列表。

这样的事情:

filters['topic'][0].title

但这不起作用,因为那里有“名字”键。没有条件,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

我认为这就是你想要的(假设data包含原始的JSON对象):

var filters = [];
foreach (var subitem in data[0].filters) {
  filters[subitem.name] = subitem.list;
}