2013-09-03 2 views
2

TypeScript를 사용하여 JSON 배열에 문제가 있습니다. 단일 익명 요소에 접근해야하고 코드가 작동하지 않아야합니다. 내 JSON 코드의 선언은 다음과 같습니다.Typescript를 사용하여 JSON에서 배열의 익명 요소에 접근하기

JSONobj: JSON; 
this.JSONobj = 
[ 
{"Atributte1": "value1", "Atributte2": "value2", "Atributte3": "value3"}, 
{"Atributte1": "value4", "Atributte2": "value5", "Atributte3": "value6"}, 
{"Atributte1": "value7", "Atributte2": "value8", "Atributte3": "value9"} 
]; 

"행"에 액세스하려고합니다. 콘솔의 첫 번째 행에 써야하는 코드는 다음과 같습니다.

console.log(this.JSONobj[0]); 

하지만 모두 반환되는 것은 JSONobj의 첫 번째 문자 인 "["입니다. 그렇다면 코드를 수정하여 내 콘솔에 코드를 추가하는 방법은 무엇입니까?

{"Atributte1": "value1", "Atributte2": "value2", "Atributte3": "value3"} 

모든 아이디어에 감사드립니다.

답변

2

정상적으로 작동합니다. 나는 당신이 아마 JSON.parse을 할 필요가 오류가 다른 곳이라고 생각 :

var JSONobj = 
[ 
    {"Atributte1": "value1", "Atributte2": "value2"}, 
    {"Atributte1": "value4", "Atributte2": "value5"}, 
    {"Atributte1": "value7", "Atributte2": "value8"} 
]; 

console.log(JSONobj[0]); // prints {"Atributte1": "value1", "Atributte2": "value2"} 

var stringed = JSON.stringify(JSONobj); 
console.log(stringed[0]); // prints '[' 

var parsed = JSON.parse(stringed); 
console.log(parsed[0]); // prints {"Atributte1": "value1", "Atributte2": "value2"} 

Try it

PS : JSONobj: JSON;은 (JSON은 최신 브라우저에서 특별한 변수) 올바르지 않습니다. TypeScript에서 유형을 유추합니다. 하지만 '무엇이든 허용합니다'객체를 사용합니다. any

+1

예, 지금 JSON 객체 선언에서 실수를했습니다. 설명 주셔서 감사합니다! – OutOfSpaceHoneyBadger

관련 문제