2012-01-17 3 views
0

JSON 데이터 (데이터 첨부)를 반환하는 ajax 호출이 있습니다.
Ajax 응답 추출

[Object { companyName="TriStar Inc.", shipmentDate=null, transMode="NDAY", more...}, Object { companyName="Carbo Box", shipmentDate=null, transMode="COUR", more... } ] 

내 질문은, 어떻게 : 나는 파이어 폭스에서 JSON 응답을 인쇄 할 때처럼 지금 보이는

{ 
    "shipments":[ 
     { 
     "companyName":"TriStar Inc.", 
     "shipmentDate":null, 
     "transMode":"NDAY", 
     "paid":true, 
     "delDate":null, 
     "custRefInfo":{ 
      "customerName":"DAISY N.", 
      "customerZip":"90544" 
     }, 
     "orderStatus":true 
     }, 
     { 
     "companyName":"Carbo Box", 
     "shipmentDate":null, 
     "transMode":"COUR", 
     "paid":true, 
     "delDate":null, 
     "custRefInfo":{ 
      "customerName":"TOM K", 
      "customerZip":"07410" 
     }, 
     "orderStatus":true 
     } 
    ] 
} 

: 문자열로 데이터를 변환 한 후,이은과 같은 모습입니다 이 응답에서 companyName 및 customerName 필드를 추출합니까? 다음 밤은 작업 : 당신은 JSON 인 문자열을받을 경우

load: function(response){ 
     for(var i in response){ 
      console.log(response.shipments[i].companyName); 
    } 

답변

2

먼저 구문 분석 할 필요가있다. ...

for(var i = 0; i < shipments.length; i++){ 
    console.log(shipments[i].companyName); 
} 

주를

var obj = JSON.parse(jsonString);

지금 당신은 적절한 객체 리터럴을 가지고, 당신은

shipments

var shipments = obj.shipments; 지금은 자바 스크립트 배열입니다 일반적으로 액세스 할 수 있습니다 배열에 for(var i in x) 구문을 사용하면 안됩니다.

+0

감사합니다 hvgotcodes, 완벽하게 작동했습니다. 왜 (var i in x) 배열에 익숙하지 않아야하는지 설명해 주시겠습니까? – user1052591

+1

은 객체 리터럴의 키를 탐색하는 데 사용됩니다. – hvgotcodes

0
response.shipments[i].companyName 
+0

안녕하세요. 작동하지 않았습니다. 내가 가진 : TypeError : response.shipments [i] 정의되지 않았습니다 – user1052591

+0

당신은 자바 스크립트를 게시 할 수 있습니까? –

+0

안녕하세요, 나는 루프에 대한 질문에 자바 스크립트를 업데이 트합니다. 여기에 게시 : load : function (response) { \t \t for (var i in response) { console.log (response.shipments [i] .companyName); } – user1052591