2010-12-28 14 views
4

私はこのようなJsonを持っています {"0":{"parent_id":1649,"id":"1803","last_update_on":"2010-12-24 07:01:49","message":"dhb;lxd","created_by_id":"21","created_by_name":"Amol Deshpande"}} 理想的には、私は0番目の位置に1つの値しか持たないので、私は長さを1にするべきです。JSON.parseを使用してJSONの長さを見つける方法は?

私はこの

{"0":{"parent_id":1649,"id":"1803","last_update_on":"2010-12-24 07:01:49","message":"dhb;lxd","created_by_id":"21","created_by_name":"Amol Deshpande"},"1":{"parent_id":1649,"id":"1804","last_update_on":"2010-12-24 07:02:49","message":"amol","created_by_id":"21","created_by_name":"Amol Deshpande"}} 

私は警告(response.length)を行う場合、私は未定義として値を取得していますのようなJSONを持っている場合。応答は私のJSON上記のように

何か提案がありますか?

+0

JSON –

答えて

14

オブジェクトはありません、あなたが(それはundefinedをだ)考えているように、それはアレイ、長さを得るために、あなたが例えば、キーをカウントする必要があることを持っているだ... .length性質を持っていません:

var length = 0; 
for(var k in obj) if(obj.hasOwnProperty(k)) length++; 

あるいは、ほとんどのブラウザで利用可能the keys collectionを使用します。

var length = obj.keys.length; 

MDC provides an implementation for browsers that don't already have .keys

Object.keys = Object.keys || function(o) { 
    var result = []; 
    for(var name in o) { 
     if (o.hasOwnProperty(name)) 
      result.push(name); 
    } 
    return result; 
}; 

または、オプション#3、これらのキーは、このように、多くを意味していないようですので、実際には、あなたのJSON配列を作る:あなたが望むように、あなたが.lengthを使用することができます

[{"parent_id":1649,"id":"1803","last_update_on":"2010-12-24 07:01:49","message":"dhb;lxd","created_by_id":"21","created_by_name":"Amol Deshpande"},{"parent_id":1649,"id":"1804","last_update_on":"2010-12-24 07:02:49","message":"amol","created_by_id":"21","created_by_name":"Amol Deshpande"}] 

、まだインデックスでメンバーにアクセスする。

+0

の 'obj.keys.length'を正常にフェッチするために使用しているコードを表示してください。ありがとう! – Nolwennig

関連する問題