0

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

上面的代码似乎没有输出任何东西。

我哪里错了?

4

2 回答 2

1

首先,您的日期似乎已经是 JSON,因此您不需要$.parseJSON(data);. 您正在遍历数组的每个项目。数组的每个项目都是一个对象,因此您还需要遍历每个对象的属性:Live demo(单击)。

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);
  });
});
于 2014-01-19T05:49:32.740 回答
0

首先,您的 JSON 无效...其次,如果您正在使用并且服务器响应正确
使用 JSON 格式,则无需解析 JSON ..删除该行,它应该可以工作getJSON()

尝试这个

$.each( data, function( key, value ) {
  $('p').append(key + ':' + value);
});
于 2013-08-01T10:01:46.633 回答