如何将JSON返回值转换为表?

时间:2017-03-17 08:54:17

标签: jquery json

我对如何处理JSON返回值感到困惑。 我使用此代码来检索它:

$.post('php/testphp.php', 'clickBtnValue=' + $(this).val(), function(response) {});

我回复了这个回复:

[{
  "firstname": "Zach",
  "0": "Zach",
  "lastname": "Alber",
  "1": "Alber",
  "dojo": "Okinawa",
  "2": "Okinawa"
}]

4 个答案:

答案 0 :(得分:0)

您需要先解析JSON,然后才能将其作为对象访问...

$.post('php/testphp.php', 'clickBtnValue=' + $(this).val(), function(response) {

      var parsed = JSON.parse(response);
      alert(parsed[0].firstname);

});

为什么需要这个?这是因为JSON不是JavaScript。这两个术语不是同义词。

JSON是一种文本数据交换格式。它需要被解析为任何语言的数据结构。在您的情况下,该语言是JavaScript,因此您需要将其解析为JavaScript数据。

答案 1 :(得分:0)

这样做的方法就是按照以下方式拨打电话:

$.post('php/testphp.php', 'clickBtnValue=' + $(this).val(), (function(response) {
    console.log(response);
    this.object_var = response.data;
}).bind(this));

打印响应对象后,您将看到其中的内容。在许多情况下,您的响应对象将存储在response.data

此外,如果要将值分配给post请求对象之外的某个变量,您可以.bind(this)该对象,或者只需在其外部定义变量,如下所示:

var my_var;

$.post('php/testphp.php', 'clickBtnValue=' + $(this).val(), function(response) {
    console.log(response);
    my_var = response.data;
});

答案 2 :(得分:0)

请检查代码段,这可以帮助您解决问题

$(function() {
var jsonData = [{
  "firstname": "Zach",
  "0": "Zach",
  "lastname": "Alber",
  "1": "Alber",
  "dojo": "Okinawa",
  "2": "Okinawa"
}];

for(var i=0; i <= jsonData.length; i++)
{
  var fname = jsonData[i].firstname;
  var lname = jsonData[i].lastname;
  var dojo = jsonData[i].dojo;
  
  var table = '<table border="1 px"><tr><td>First Name</td><td>Last Name</td><td>Dojo</td></tr><tr><td>'+fname+'</td><td>'+lname+'</td><td>'+dojo+'</td></tr>' ;
  document.write(table);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

答案 3 :(得分:-1)

首先使用JSON.parse()进行解析,然后像对象一样访问它们。例如:

var obj = JSON.parse(your_data);

然后

OBJ [0] .userID