2012-01-24 2 views
1

NodeJS 내의 JSON에서 속성을 읽는 데 문제가 있습니다. NodeJS에서 JSON 속성을 읽으십니까?

은 .. 내가 만드는 될 수있는 명백한 실수 같은 느낌

json으로이 엔드 포인트에서이다;

http://hypem.com/playlist/history/faisdotal/json/1/data.js

내 코드 :

var request = require('request'); 

request("http://hypem.com/playlist/history/faisdotal/json/1/data.js", function (err, res, json) { 
    JSON.parse(json); 
    console.log(json["1"]["artist"]); // undefined 
}); 

~

당신은 JSON.parse의 반환 값을 저장해야

답변

3

내가 원하는 생각 :

json = JSON.parse(json); 

간단히 매개 변수의 값을 업데이트하지 않습니다. .parse() 루틴 을 전달한 문자열에서 파싱 된 값을 반환합니다.

JavaScript는 순전히 가치에 의한 호출이므로 코드가 작성되는 방식대로 작동 할 수는 없습니다.

+0

어색한데, 처음에는 이것을 시도했지만 작동하지 않아 JSON.parse (json) 만 사용하게되었습니다. 감사. – faiizow

+1

"JavaScript는 순전히 가치에 의한 호출입니다."- [이것은 사실이 아닙니다.] (http://snook.ca/archives/javascript/javascript_pass). 프리미티브 유형은 값으로 전달되고 객체는 참조로 전달됩니다. – josh3736

+0

아니요, 허위입니다, @ josh3736. ** 모든 컨텍스트에서 ** 항상 ** 참조 ** 개체입니다. ** 참조 **는 값에 의해 전달되며 이는 JavaScript에서 객체가 "실제"있는 유일한 방법입니다. 저를 신뢰하십시오, 확실히 그 용어의 엄격한 의미에서 순전히 가치에 의한 언어입니다. – Pointy

2

:

json = JSON.parse(json); 
console.log(json["1"]["artist"]); 
관련 문제