2

重複の可能性:
ネストされたデータ構造/ JSONがありますが、特定の値にアクセスするにはどうすればよいですか?

これはajax呼び出し用の私のjsコードです

var UserArr = new Array();
    $.ajax({
                type: 'POST',
                data: postJSONData,
                url: 'PrivateSpace.asmx/GetUserDetails',
                dataType: 'json',
                async: false,
                contentType: 'application/json; charset=utf-8',
                success: function success(response) {
                debugger;
                UserArr = response.d;


                },
                error: function failure(response) {
                    alert('failed');
                }
            });

例:UserArrは次のようになります:

[0] will have userid: 101, username: jack
[1] will have userid: 102, username: jones

私はこのように試しましたが、うまくいかないようです

for (var i = 0; i < UserArr.length; i++) {     


            User_ID = // i couldn get like UserArr.userid
            Name = // i couldn get like UserArr.username
     }

親切に私を助けてください。

4

3 に答える 3

1

オブジェクトがどのように見えるかについて提供した情報が正しいことを考えると、UserArr.useridによってアクセスするのではなく、によってアクセスします。UserArr[i].userid

配列を反復処理する別の方法は、反復のメカニズムについて心配する必要がないようにすることです。Array.forEach

UserArr.forEach(function(user) {
    alert(user.userid);
});

ただし、古いブラウザにはシムを使用する必要があります。いくつかのブラウザの欠点の適切な修正については、このSO回答のMDCフォールバックを参照してください。

于 2012-11-20T06:30:18.423 に答える
1

array of objectsデータは..の形式になっているように見えます。この方法で試してください。

User_ID = UserArr[i].userid
Name = UserArr[i].username
于 2012-11-20T06:30:22.383 に答える
1

UserArruseridプロパティがありません。配列のすべてのインデックスuseridにはプロパティがあります。

for (var i = 0; i < UserArr.length; i++) {     
    User_ID = UserArr[i].userid;
    Name = UserArr[i].username;
}
于 2012-11-20T06:30:34.113 に答える