2013-07-30 4 views
4

개체 및 배열을 포함하는 (중첩 된) 데이터 구조가 있습니다. 어떻게 정보를 추출 할 수 있습니까? 즉, 알려진 키를 사용하여 특정 값 또는 다중 값에 액세스 할 수 있습니까? 예를 들어중첩 된 json에서 키 값 가져 오기

:

var data = { 
    code: 42, 
    items: [{ 
     id: 1, 
     category: [{ 
      cId: 1, 
      prodname: 'foo', 
      quality: [{ 
       qId: 012, 
       testName: 'micro' 
      }, { 
       qId: 013, 
       testName: 'nano' 
      }] 
     }, { 
      id: 2, 
      prodname: 'bar' 
     }] 
    }] 
}; 

어떻게 키 quality의 값에 액세스 할 수 있습니다?

참고 : 이것은 객체가 동적으로 생성되는 샘플 JSON 객체입니다. 그것은 알려지지 않은 깊이입니다.

+0

이것은 샘플 JSON 객체입니다 대해 참조 http://stackoverflow.com/questions/4992383/use-jquerys-find-on-json-object – Okky

답변

2

그 방법은 올바른 :

이 가
data.items[ 0 ].category[ 0 ].quality; 
> [ Object, Object ] 
+1

객체가 동적으로 생성; 그것은 알려지지 않은 깊이입니다. – Okky

+0

JSON의 깊이 나 구조가 알려지지 않은데 데이터가 어디에 있는지 알지 못하는 경우 문제는 그러한 JSON을 만드는 과정을 주도하는 논리입니다. JSON의 구조를 결정하는 데 사용할 수있는 정보보다 훨씬 많은 정보가있을 것입니다. 알 수없는 나무에서 알 수없는 위치의 키 값을 찾고 있다는 것에 놀랐습니다. 왜? 나는 당신이 성취하려고하는 것을 진지하게 생각해야한다고 생각합니다. 그 외, 일부 트리 탐색 알고리즘이 실제로 원하는 경우 도움이 될 수 있습니다. – oleq