2016-10-07 2 views
0

시작하려면이 질문이 많은 의미가 있는지 확실하지 않습니다. 설명하기 위해 최선을 다할 것입니다.JSON 데이터 및 변수를 사용하여 속성을 가져 오거나 변경하는 경우

저는 미국 인구 조사국 정보를 보는 프로젝트를 진행하고 있습니다. 내가보고하고있는 개체의 일부는 다음과 같습니다 (이 객체의 일부임을 유의하시기 바랍니다.)

Object {MTFCC: "G5020", OID: 207903717468543, GEOID: "13135050431", STATE:  
"13", COUNTY: "135"…} 
AREALAND: 5416158 
AREAWATER: 34463 
B19013_001E: "45543" 

나는에 관심이 부분은 다음과 같습니다 코드 될 일이 B19013_001E 중앙 가구 소득. 가구당 평균 소득을 얻으려면 다음과 같이하십시오 :

response.features[1].properties.B19013_001E 

모든 것이 지금까지 발견됩니다. 그러나 내 문제는 다음과 같습니다. 그 코드를 다른 값으로 변경하려고합니다. 개인이 그 코드 median_male_age, 찾아하고자하는 경우 다음과 같은 그래서, B01002_002E 나는 B01002_002E 하드 코드하지 않습니다

response.features[1].properties.B01002_002E 

위의 라인이 작동합니다. 그러나 다시 나는 특수 코드로 하드 ​​코딩 할 필요가 없도록 변수에 의해 결정될 수있는 것을 원한다. 그래서, 나는 이와 같은 코드를 원한다. (단지 예제 일 뿐이다.)

var value = prompt("What do you want to look at: ") 
//In this case value would be the special code like B01002_002E which the user enters. 
console.log(response.features[1].properties.value) 

나는 이것을 할 때마다 정보를 얻지 못한다. 처음에는 잘못된 유형이 있다고 생각했지만 그게 문제라고 생각하지 않습니다. (숫자로 변환하고 문자열 등으로 되돌려 봤습니다.) 이것에 대한 도움이 될 것입니다!

+0

닫기! 'console.log (response.features [1] .properties [value])' –

+0

'response.features [1] .properties [propertyVar] '사용 – Derek

+0

오 와우! 나는 정말로 가까웠다! 그게 효과가있는 것 같습니다! 고맙습니다! 나는 그것이 그렇게 단순하다는 것을 믿을 수 없다! –

답변

1

내 덧글에 확장.

먼저 MDN은 Working with objects에 대한 훌륭한 문서가 있습니다. 읽어야 할 가치가 있습니다.

둘째, 자신의 함양을 위해, JSON 그러므로이 의 약어 J AVA S N otation bject cript O가의 문자열이 아닌 객체입니다. 당신이 구어체로 O LD J avascript O bject 속인 POJO 또는 P라고합니다. 그들은 다르다. :)

셋째, 특히 귀하의 질문에 대한 변수를 통해 accessing an object property 때 괄호 표기법을 사용하고자합니다. 따라서이 경우 다음과 같습니다.

console.log(response.features[1].properties[value]) 

희망이 있습니다.

+0

예! 정보를 제공해 주셔서 감사합니다. 감사드립니다! 좋은 하루/주말 되세요! –

관련 문제