0

可能的重复:
带有数组的 JavaScript “For ...in”

我对 JSON 很陌生。我已经在 stackoverflow 上搜索了答案,但有点困惑,所以我不确定我是否偶然发现了解决方案。所以,我决定发布我的代码和需求,希望能找到一个我可以应用的解决方案。

如果已经存在解决方案,我提前道歉,只能想象我只是不明白我在看什么。

我有一个看起来像这样的 json 对象:

{
"0": [
    {
        "uguid": "11111-11111-11111",
        "username": "username",
        "password": "",
        "first_name": "User1",
        "last_name": "Name1",
        "title": "title here",
        "group_guid": "g0001",
        "force_pw_reset": "f",
        "permissions": [
            [
                "p1",
                "p2",
                "p3",
                "p4",
                "p5"
            ]
        ],
        "active": "t",
        "t_access": [
            []
        ],
        "i_access": [
            []
        ],
        "c_access": [
            []
        ],
        "class_name": "class name",
        "method": "method name"
    }
],
"1": [
    {
        "uguid": "22222-22222-2222",
        "username": "username2",
        "password": "",
        "first_name": "User2",
        "last_name": "Name2",
        "title": "",
        "g_guid": "g0002",
        "force_pw_reset": "f",
        "permissions": [
            [
                "p1",
                "p2",
                "p3",
                "p4",
                "p5",
                "p6"
            ]
        ],
        "active": "t",
        "t_access": [
            []
        ],
        "i_access": [
            []
        ],
        "c": [
          [
              "c0001"
          ]
        ],
        "class_name": "class name",
        "method": "method name"
    }
],
"2": [
    {
        "u_guid": "33333-33333-33333",
        "username": "username3",
        "password": "",
        "first_name": "User3",
        "last_name": "Pass3",
        "title": "",
        "gguid": "g0003",
        "force_pw_reset": "f",
        "permissions": [
            [
                "p1",
                "p2",
                "p3"
            ]
        ],
        "active": "t",
        "t_access": [
            [
              "t0001"
            ]
        ],
        "i_access": [
            []
        ],
        "c_access": [
            []
        ],
        "class_name": "class name",
        "method": "method name"
    }
]

}

我想要做的是遍历这个(或任何)json并创建一个数组。我需要能够在需要的时间/地点进行递归迭代。此外,希望无论解决方案是什么,都可以与传递给函数的任何 json 对象一起使用。

更新:我想我应该提到我想创建一个javascript数组,如果这有什么不同的话。另外,我正在获取一个 json 字符串并使用 douglas crockford 的 json_parse() 来获取一个对象。我想获取该对象(如图所示)并创建 javascript 数组。

4

1 回答 1

0

如果要转换对象

obj = {
   "0": ...,
   "1": ...,
   ...
}

到一个数组,我建议这样做:

var a = [];
for (var i=0; typeof obj[i] != 'undefined'; i++) a[i] = obj[i]; 
于 2013-01-18T16:23:43.513 回答