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 に答える