3

このJSONオブジェクトの長さを知りたいので、JSONオブジェクトの長さを取得する方法を教えてください...つまり、このjsonオブジェクトに含まれるデータの数を知りたいということです。

var ddData = [{ "01":"United States",
                "02":"United Kingdom",
                "03":"Aruba",
                "04":"United Kingdom",
                "05":"Aruba",
                "06":"Bahrain",
                "07":"United Kingdom",
                "08":"Algeria",
                "09":"Andorra",
                "10":"American Samoa",
                "11":"United States"
             }]
4

6 に答える 6

11

メソッドを使用Object.keysしてオブジェクトキーを取得できます。
ddDataはarrayであり、最初のインデックスにはオブジェクトが含まれているため、次のように実行できます。

Object.keys(ddData[0]).length;

ただし、古いブラウザObject.keysでは動作しません。

そのためには、オブジェクトを反復処理し、変数をインクリメントしてそのオブジェクトの長さを取得できます。

var count = 0;
for(var i in ddData[0]) {
    count++;
}
于 2013-01-11T05:48:57.967 に答える
4

Object.key指定されたコレクションの長さを返すsを使用できます。JSフィドル

(ここからのブラウザーのサポート)(ここのObject.keysに関するドキュメント、ECMA5以外のブラウザーに追加できるメソッドが含まれています)

于 2013-01-11T06:02:18.057 に答える
2

関数を呼び出す代わりに、これを簡単に行うことができます

var key, count = 0;
for(key in ddData[0]) {
  count++;
}

console.log(count + " is size of the json");
于 2013-01-11T05:52:01.460 に答える
1
var length=0;
for(attr in ddData[0]){
     length++;
}
于 2013-01-11T05:51:16.480 に答える
1
var json = JSON.parse(ddData);
for(i=0;i<json.length;i++)
{
alert(json[i].length);
}
于 2013-01-11T05:51:48.110 に答える
0

今、私は答えを得ました....

var Data = { "01":"United States",
            "02":"United Kingdom",
            "03":"Aruba",
            "04":"United Kingdom",
            "05":"Aruba",
            "06":"Bahrain",
            "07":"United Kingdom",
            "08":"Algeria",
            "09":"Andorra",
            "10":"American Samoa",
            "11":"United States"
         }

var count = 0;
for(x in Data){
    count++;
}
console.log('cnt',count)
于 2013-01-11T06:12:46.067 に答える