2016-08-31 5 views
0

これについての助けをオンラインで探していましたが、探しているものが見つかりませんでした。私は、しかし、のは JavaScriptでJSONを変数で解析する

{ 
"CPU INFO": { 
    "cpu0": "val", 
    "cpu1": "someval" 
    } 
    } 

のは、私はそこにあると私は値に辞書のキーを設定したいどのように多くのCPUを知らないと仮定しましょうJSON

次私が持っているとしましょう、JavaScript変数を解析する方法を知っています。私のようなループを持っていた場合、例えば:

for(var counterCPUS = 0; counterCPUS < numCPUs; counterCPUS++) 
    { 
     var currCPU = "cpu"+counterCPUS; 
     dictionary["cpu"+counterCPUS] = furtherCPUObject.currCPU; 
    } 

それが文字列「currCPU」ではなく、「CPU0」を探しますので、これは明らかに動作しないでしょう。それが可能であると仮定して、私が達成しようとしていることをどうすればいいのですか?

ありがとうございます!

+2

'Object.keys'を.... – zerkms

+0

[オブジェクトのプロパティを繰り返す](http://stackoverflow.com/q/8312459/218196)が便利かもしれません。 –

+0

http://stackoverflow.com/questions/4244896/dynamically-access-object-property-using-variable これは私が探していたものです。ありがとうございます。 – trynacode

答えて

2

あなたはfor..inを使用してオブジェクトを反復したり、Object.keysを使用して配列として、オブジェクトのキーを取得していることを反復処理することができます

var json = { 
 
    "CPU INFO": { 
 
    "cpu0": "val", 
 
    "cpu1": "someval" 
 
    } 
 
}; 
 

 
for (var cpuKey in json['CPU INFO']) { 
 
    console.log(cpuKey, '=>', json['CPU INFO'][cpuKey]); 
 
} 
 
       
 
Object.keys(json['CPU INFO']).forEach(function(key) { 
 
    console.log(key, '=>', json['CPU INFO'][key]);  
 
});

+0

普通のオブジェクトに対して 'for-of'を使って反復処理することはできません。 – zerkms

関連する問題