从API打印JSON输出

时间:2013-08-01 09:57:27

标签: jquery json jsonp

我在使用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);
});

以上代码似乎没有输出任何内容。

我哪里错了?

2 个答案:

答案 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);
});