PHP jQuery获取数组并正确显示

PHP jQuery获取数组并正确显示,php,jquery,arrays,ajax,Php,Jquery,Arrays,Ajax,我在index.php中得到一个AJAX请求,请求另一个文件(get\u code.php),该文件查询数据库并将json\u encoded数组返回到index.php,在那里它被转换成带有json\u stringify的字符串 这很好,但事实上,它出现在页面上是这样的: [{"code":"GG500","desc":"Desc 1","price1":"9.35","price2":"8.25","price3":"7.75","avg":"7.994198","lwcm":"7.956

我在
index.php
中得到一个AJAX请求,请求另一个文件(
get\u code.php
),该文件查询数据库并将
json\u encode
d数组返回到
index.php
,在那里它被转换成带有
json\u stringify
的字符串

这很好,但事实上,它出现在页面上是这样的:

[{"code":"GG500","desc":"Desc 1","price1":"9.35","price2":"8.25","price3":"7.75","avg":"7.994198","lwcm":"7.9568","cost":"4.63"},
{"code":"GGC4","desc":"Desc 2","price1":"","price2":"","price3":"","avg":"504.666666","lwcm":"387.5","cost":"260.61"}]
问题: 如何获取该字符串并将其转换为普通数组或任何可以在
index.php
中的HTML表中显示的内容

当前代码:

index.phpjQuery

if (!data.result) {
   $('#modal2').modal('show');
   $('.msgs').text(data.error);
   $('#cdnf').text(data.code);
   $('#tarray').text(JSON.stringify(data.tarray));
}
index.phpHTML

<p id="tarray"></p><!-- needs to be a table -->

这是根据OP的需要。我只是在这里展示一个正确的JSON示例,以及如何迭代以表的形式获得它

正确的JSON对象如下所示:

[{"code":"ABC123","desc":"Example description","price1":"3.00"},
  {"code":"BDC234","desc":"Example description2","price1":"3.50"}]

将JSON转换为表:

var obj=[{“code”:“ABC123”,“desc”:“示例说明”,“price1”:“3.00”}{
“代码”:“BDC234”,“描述”:“示例说明2”,“价格1”:“3.50”}]
var tbl=$(“”).attr(“id”,“mytable”);
$(“#div1”)。追加(待定);

对于(var i=0;i这是根据OP的需要而定的。我只是在这里展示一个正确的JSON示例,以及如何迭代以表的形式获得它

正确的JSON对象如下所示:

[{"code":"ABC123","desc":"Example description","price1":"3.00"},
  {"code":"BDC234","desc":"Example description2","price1":"3.50"}]

将JSON转换为表:

var obj=[{“code”:“ABC123”,“desc”:“示例说明”,“price1”:“3.00”}{
“代码”:“BDC234”,“描述”:“示例说明2”,“价格1”:“3.50”}]
var tbl=$(“”).attr(“id”,“mytable”);
$(“#div1”)。追加(待定);
对于(var i=0;i而不是:

$('#tarray').text(JSON.stringify(data.tarray));
在数据上循环并创建一个表:

$('#tarray').html('').append(
    $('<table>').append(
        $('<tr>').append(
            $.map(data.tarray[0] || [], function (_, key) {
                return $('<th>').text(key);
            })
        ),
        data.tarray.map(function (row) {
            return $('<tr>').append(
                $.map(row, function (cell) {
                    return $('<td>').text(cell);
                })
            );
        })
    )
);

而不是:

$('#tarray').text(JSON.stringify(data.tarray));
在数据上循环并创建一个表:

$('#tarray').html('').append(
    $('<table>').append(
        $('<tr>').append(
            $.map(data.tarray[0] || [], function (_, key) {
                return $('<th>').text(key);
            })
        ),
        data.tarray.map(function (row) {
            return $('<tr>').append(
                $.map(row, function (cell) {
                    return $('<td>').text(cell);
                })
            );
        })
    )
);



您需要迭代json对象。读取该对象,然后打印值json.parse用于将json解码为数组,json.stringify用于将数组编码为jsonOK感谢@Tushar-我如何在jQuery中执行此操作?@hassan json.parse返回错误
json中位置1处的意外标记o
?取决于您想要的方式显示数据。;)您可以创建一个表并填充每一行,也可以直接转储数据。这取决于您需要迭代json对象的要求。读取该对象,然后打印值json.parse用于将json解码为数组,json.stringify用于将数组编码为jsonOK感谢@Tushar-我在jQuery中该如何做?@hassanJSON.parse在位置1返回错误
JSON中意外的标记o
?取决于您希望如何显示数据。;)您可以创建一个表并填充每一行,也可以直接转储数据。这完全取决于需求,所以我设置
var obj=JSON.stringify(data.tarray)?感谢@Tusharawesome的帮助,我也设置了
var obj=JSON.stringify(data.tarray)?谢谢你的帮助@TusharBrilliant正是我要找的!Thankshow我是否会将其设置为nothing,这样如果再次查询,表将为空?在第一个
.append
之前添加
.html(“”)
。我用它更新了我的答案。这正是我想要的!Thankshow我是否会将其设置为nothing,这样如果再次查询,表将为空?在第一个
.append
之前添加
.html(“”)
。我用它更新了我的答案。