JSON转换

时间:2016-03-14 15:06:03

标签: jquery json

我正在获取数据,然后将其序列化为服务器端的JSON字符串,然后将其传递给客户端。 假设我在客户端获得的数据是JSON字符串,我如何迭代JSON以在客户端创建HTML表?

1 个答案:

答案 0 :(得分:1)

(编辑。假设您的桌子有一个id =" myTable"您可以按照迭代块中的描述附加您的项目[Id,Nombre])

您尚未指定接收数据的方式,但假设您在jquery ajax请求之后收到。这可能是如何迭代JSON的一个例子。

首先,用jQuery.parseJSON(response.responseText)

解析它

要在客户端执行的javascript块:

$.ajax({
  type: 'POST',
  url: $("#YourFormID").attr('action'),
  dataType: 'json',
  data: $("#YourFormID").serialize(),
  beforeSend: function(objeto) {
  },
  complete: function(response) {
  },
  success: function(response) {
    // Parse the JSON received
    jSONResp = jQuery.parseJSON(response.responseText);     
    // If your expected list is called 'myList'
    if ('myList' in jSONResp) {

        // If your <table> does not exists, you can create it at this time, within an existing element (someContainer):
        $("#someContainer").append('<table id="myTable"><tr><td>ID</td><td><td>Name</td></tr></table>');

        for (var i=0; i<jSONResp.myList.length; i++) {
            var item = jSONResp.myList[i];
            // Append a new <tr> with the current item data to the table
            $('#myTable').append('<tr><td>'+item["Id"]+'</td><td>'+item["Name"]+'</td></tr>');
        }
    }
  },
  error: function(objeto, quepaso, otroobj){
    alert("ERROR: "+quepaso);
  }
});

回应。来自服务器端的可用PHP脚本。

<?PHP
$data = /** whatever you're serializing, array of items etc **/;
header('Content-Type: application/json');
echo json_encode($data);

(抱歉,我无法添加评论,只有回复)