2013-08-01 7 views
0

jQuery를 사용하여 JSON 데이터를 인쇄하는 중에 문제가 발생합니다.API에서 JSON 출력 인쇄

JSON 출력 :

[ 
{"id":"1", "product_name":"banana", "price":"10"}, 
{"id":"2", "product_name":"apple", "price":"15"}, 
{"id":"3", "product_name":"pineapple", "price":"20"} 
] 

내가 API의 JSON 출력에서 ​​데이터를 검색 getJSON()을 사용했다. 위의 코드는 출력 아무것도하지 않는 것

data = $.parseJSON(data); 
$.each(data, function(key, value) { 
    $('p').append(key + ':' + value); 
}); 

:

는 JSON 출력을 인쇄하려면, 내가 jQuery를 사용했다.

어디로 잘못 가고 있습니까?

+1

입니다 : 당신이 다음 또한 객체의 각 속성을 반복 할 필요가 있으므로 배열의 각 항목은 객체이다 .online.fr /)을 확인하고 다시 확인하십시오 –

+0

DKM이 맞습니다. 문자열에 대해 json에서 큰 따옴표가 필요합니다 (ID와 가격은 따옴표없이 일반 숫자 일 수도 있음) – AardVark71

답변

1

첫째, 당신의 날짜가 이미 JSON 것으로 보인다하려고, 그래서 당신은 $.parseJSON(data);을 필요가 없습니다. 배열의 각 항목을 반복합니다. //json.parser : 당신의 JSON은 [여기] (HTTP를 구문 분석하는 잘못된 시도가 Live demo (click).

var data = [ 
    { 
    "id":"1", 
    "product_name":"banana", 
    "price":"10" 
    }, 
    { 
    "id":"2", 
    "product_name":"apple", 
    "price":"15" 
    }, 
    { 
    "id":"3", 
    "product_name":"pineapple", 
    "price":"20" 
    } 
]; 

$.each(data, function(i, obj) { 
    $.each(obj, function(key, value) { 
    $('p').append(key + ':' + value); 
    }); 
}); 
0

첫째, 당신의 JSON은 당신이 getJSON()을 사용하고 서버 응답이 그 라인 correctly..remove JSON에있는 경우 JSON을 구문 분석 할 필요가 없습니다 그것은 작동합니다 ... 둘째
유효하지 않습니다

는이

$.each(data, function(key, value) { 
    $('p').append(key + ':' + value); 
}); 
+0

json에 대한 구문 분석을 제거했으며 이것이 출력입니다 '0 : [객체 객체] 1 : [객체 객체] 2 : [객체 객체]' – h4kl0rd