2016-08-31 2 views
0

이 기능에 대한 온라인 도움말을 찾고 있었지만 찾고자하는 것이 없습니다. 나는 그러나,의는 JSON을 JavaScript로 구문 분석 할 때 변수를 사용합니다.

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

의 내가 거기에 내가 값으로 사전의 키를 설정하려면 얼마나 많은 CPU를 모르는 가정하자 JSON

다음 내가이 말을하자, 자바 스크립트 변수를 구문 분석하는 방법을 알고있다. 내가 같은 루프가 있다면 예를 들어, :

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

관련 문제