2012-08-13 5 views
1

I 다음 (조각) 변수가 있습니다.JSON 구문 분석 자바 스크립트

내가 JSON을 구문 분석하고 호출 할 것이다 방법을 모른 채합니다 ('e3fe40'지점에서 정보를 얻을 필요가
var txt = { 
     'start': { 
       'name':'Call start', 
       'data': {'next':'start/e3fe40'}, 
       'id':'start', 
       'type':'standard---start' 
     }, 
     'e3fe40': { 
       'name':'Menu', 
       'data': {'next':'end/asd3rg'}, 
       'id':'e3fe40' 
     } 
}; 

을 여기

내가 가진 무엇?.

var nxt = txt.start.data.next.substr(6,10); <-- works 
console.log(nxt);       <-- works 
console.log(txt.start.data.next);   <-- works 
console.log(txt.nxt.name);     <-- nxt should contain 'e3fe40' 

그래서, 내가 내려 가서 어떻게 지점 txt.nxt.name가 작동하지 않습니다 TXT {NXT는} .name을 등, 작동하지 않습니다 ...

가정

감사합니다, 댄

+4

를 해결 것이라 생각합니다. JavaScript 객체 리터럴입니다. – Quentin

+0

또한 우리가 새끼를 뽑는다면 당신이하고있는 것에 대한 단어가 "해석"되지 않습니다. :-)'[] '연산자가 필요합니다. – Pointy

+0

들어오는 데이터의 구조를 모르는 경우 항상 어려움을 겪을 것입니다. 당신이 할 수있는 일은 열쇠를 둘러 싸고 당신이 원하는 것을 식별하려고 시도하는 것입니다, 그러나 이것은 이상적인 것과는 거리가 멀습니다. – Utkanos

답변

2
var key = txt.start.data.next.substr(6); 
console.log(txt[key].name); 
0

당신은 수행하여 가치를 얻을. 값을 액세스

txt[nxt].name

다른 방식

txt.e3fe40.nametxt['e3fe40'].name 상술 한 바와.

이 잘못되었습니다. 당신은 디버깅 도구를 사용하여 코드를 디버깅하고이 코드를 넣으면 NXT는 자바 스크립트 객체의 핵심,

0

하지 않기 때문에 나는 JSON없는 그 문제

alert(txt.e3fe40.name);