2012-02-03 7 views
0
에서

나는 다음과 같은 코드가 있습니다구문 분석 JSON 자바 스크립트

var addressInfo = []; 
for(var x in address_components_root){ 
    addressInfo.push(address_components_root[x].long_name+"|||"+address_components_root[x].types[0]); 
} 


for(var d in addressInfo) { 
    addressI = addressInfo[d].split("|||"); 
    if (addressI[1]=="street_number") { 
     window.alert("street"); 
    } 
} 

address_components_root 내가 제대로 그래서 돈 eval를 사용하여 예를 들어 같은이 JSON을 구문 분석하는 방법 http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false

에서 찾을 같은 JSON 인코딩 응답이다; 수동으로 모든 데이터를 할당해야합니까?

+0

JSON = Javascript Object Notation –

+0

@Sandro : 그걸로 뭐라 말하고 싶니? –

+0

나는 그것을 지적하고 싶었다. 그것은 자바 스크립트에 가깝습니다. –

답변

3

최신 브라우저에서는 JSON.parse([json string]);을 사용할 수 있습니다. 구형 브라우저에서는 JSON 라이브러리가 필요합니다. this page 참조 - json2.js 파일을 사용하십시오.

+0

좋아요, 오류가 발생합니다 :'잡히지 않은 TypeError : 객체 함수 json_decode (str_json)'- Google에서 가져온 데이터가 이미 객체이기 때문에 이것입니까? 죄송합니다, 여기 JSON 멍청한 놈의 비트 – rickyduck

+0

당신이 제공 한 링크로 여기에서 작동합니다. 올바른 구문은 http://jsfiddle.net/hE8xf/를 참조하십시오. 'json_decode'에 무엇이 있습니까? – KooiInc

+0

내 나쁜, 구글 API를 사용했다. 이미 JSON 객체를 반환합니다. 정말 바보 로군. 나는 REST API에서 데이터를 가져온 스크립트의 서버 측 버전과 JS API에서 가져온 클라이언트 측에서 같은 함수를 사용했다. – rickyduck