2014-10-29 5 views
2

Node.js Request 패키지의 HTTP 끝점에서 일부 JSON이 반환되었습니다. 응답의 body 다음 (application/jsonContent-Type)와 JSON 개체입니다 : 나는 다음과 같은 얻을 console.log(body);를 사용하는 경우Node.js 요청 - REST 응답 (JSON)의 속성을 가져올 수 없습니다.

{ 
    exchange_rate: 1.0, 
    format: { 
     symbol: '$', 
     precision: 2, 
     thousands_separator: ',', 
     decimal_separator: '.' 
    } 
} 

(는 위에서 그대로의) : 그러나

{ 
    exchange_rate: 1.0, 
    format: { 
     symbol: '$', 
     precision: 2, 
     thousands_separator: ',', 
     decimal_separator: '.' 
    } 
} 

, 나는 exchange_rate 값에 액세스하려고 할 때, 그것은 undefined는 반환

console.log(body.exchange_rate); 

내가 시도 실패 그러나 이미 JSON 때문에 JSON.parse(body);를 사용 :

SyntaxError: Unexpected token e 
    at Object.parse (native) 
    ... 

나는이 JSON의 개별 속성에 액세스 할 수있는 방법을 어떤 생각?

답변

4

귀하의 문제는 이 아니며 JSON입니다.

JSON의 속성 이름은 식별자가 아닌 문자열으로 표시되어야합니다. 문자열은 '이 아닌 "자를 사용하여 인용해야합니다.

e이 있으니 Unexpected token e 오류가 발생합니다. "이 있어야합니다.

JavaScript 개체가있는 경우 (예 : "JSON"을 성공적으로 파싱 한 경우) 으로 문자열을 지정 했으므로 Unexpected token o (e가 아님)이 표시됩니다.

+0

굉장한 반응, 고마워요! 나는 이것을 줄 것이다. 최소한 분명히 여기에서 뭔가를 배웠습니다. – trnelson

+0

이것이 밝혀 졌을 때, 이것은 내가 필요로하는 것이었다. 시간을내어 답변 해 주셔서 대단히 감사합니다! – trnelson

관련 문제