2014-07-01 2 views
1

JSON에 매우 익숙합니다.이 작업을 완료하기 위해 해체되었습니다. 주어진 다이어그램 에서처럼 "추출"값을 가져야합니다. 이 다이어그램은 json의 객체 다이어그램입니다. 값 21721040은 임의적 일 수 있으므로 구성원 중 하나를 찾는 객체의 이름을 알 수 없습니다.JSON은 객체 이름이 임의 인 객체의 param 값을 얻습니다.

따라서 나는

query.pages.21721040.extract 

enter image description here

같은 그래서 어떻게 "추출물"의 값을 얻을 수 있습니다 할 수없는 이유는 무엇입니까?

멤버 중 하나에 액세스하려고하면 이름이 숫자 인 객체가 오류를 생성해야합니까? 아니면 그냥 일하는거야? 예를 들어이 경우 객체 이름 중 하나는 "-1"입니다.

enter image description here

이 같은 JS에서 구문 분석 후 값 "URL"에 접근을 시도 할 경우 :

query.pages.-1.imageinfo.0.url 

그것이 오류가 발생합니까?

+0

ID를 미리 아십니까? –

+0

'query.pages [ "- 1"]을 시도하십시오. imageinfo [0] .url' – Kamrul

+0

아니요. 런타임에만 알 수 있습니다. –

답변

1

이 시도 :

query.pages[Object.keys(query.pages)[0]].extract 
+0

json에 대한 Javascript의 색인이 매시업되었습니다. 당신은 그것에 대해 논평 할 수 있습니까, 당신의 방법은 언제나 올바른 가치를 되돌릴 것입니까? –

+1

작동하지 않는지 알려주세요. – abdulbasit

+0

그것은 실제 배열 및 객체가 아닌 객체를 반환하는 Object.keys() 때문에 제 대답과 다릅니다. –

1

당신은 속성 이름을 모르는 경우, 당신은 객체 자신의 속성을 반복 할 수 있습니다 또는

for (var key in query.pages) { 
    if (query.pages.hasOwnProperty(key)) { 
     console.log(query.pages[key].extract); 
    } 
} 

, 당신은 키의 배열을 얻기 위해 상대적으로 현대 Object.keys()를 사용할 수있는 객체 있다.

+0

속성 또는 자식 개체입니까? 매우 제한된 지식에서 나는 그것이 키 : 값 쌍을 포함하고 그것 자체가 키 값 쌍이 아닌 객체와 같이 보입니다. –

+0

"추출"이 포함 된 속성 만 등록하도록 수정할 수 있습니까? 또는 빈 값을 확인해야합니까? –

+0

@AshwinSingh * 무엇 * 속성 또는 하위 개체입니까? 나는 속성과 자식 객체가 상호 배타적 인 용어라고 생각하지 않는다. –

1

query.pages["-1"].imageinfo[0].url을 시도합니다. 실제로 모든 필드는 문자열로 간주 될 수 있습니다. key을 모른다면 query["pages"]["-1"]["imageinfo"]["0"]["url"]

을 쓰고 Object.keys()을 사용하여 해당 개체와 연결된 키를 찾을 수 있습니다. 이 keykey 일 수 있으며 object 또는 object에 속합니다. 개체의 키 사용자 만 찾으려면 hasOwnProperty

관련 문제