0

次の構造の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

しかし、そこに「名前」キーがあるため、それは機能しません。条件なしでこれを行う方法はありますか?

4

1 に答える 1

1

これはあなたが望むものだと思います(data元のJSONオブジェクトが含まれていると想定しています):

var filters = [];
foreach (var subitem in data[0].filters) {
  filters[subitem.name] = subitem.list;
}
于 2012-10-29T21:24:37.713 に答える