我在使用jQuery打印JSON数据时遇到问题。
JSON输出:
[
{"id":"1", "product_name":"banana", "price":"10"},
{"id":"2", "product_name":"apple", "price":"15"},
{"id":"3", "product_name":"pineapple", "price":"20"}
]
我使用getJSON()
从API的JSON输出中检索数据。
要打印JSON输出,我使用了jQuery:
data = $.parseJSON(data);
$.each( data, function( key, value ) {
$('p').append(key + ':' + value);
});
以上代码似乎没有输出任何内容。
我哪里错了?
答案 0 :(得分:1)
首先,您的日期似乎已经是JSON,因此您不需要$.parseJSON(data);
。您正在循环遍历数组的每个项目。数组的每个项目都是一个对象,因此您还需要迭代每个对象的属性: 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);
});
});
答案 1 :(得分:0)
首先,您的JSON无效......
其次,如果您正在使用getJSON()
并且服务器响应正确地使用JSON,则不需要解析您的JSON。删除该行并且它应该可以工作
试试这个
$.each( data, function( key, value ) {
$('p').append(key + ':' + value);
});