Php - 如何将数组编码为json并将其发送回去

时间:2017-04-18 03:11:59

标签: php arrays json

请允许我在前言中说我在这上面看了多个SO帖子,但我仍然输了。

所以在我的php代码中,我从数据库中获取数据,然后我尝试将其插入到数组中,如下所示:

$arrayResult = array();

        foreach ($result as $item) {
            array_push($arrayResult, array("type" => $item['type'],
                                           "count" => $item['count'])
            );

        }

        echo json_encode($arrayResult);

我的问题如下,我的JS显示任何数据的唯一时间是当我在成功的AJAX调用上打印出数据时,任何操纵它的尝试都会完全失败。如同,根本没有显示数据。

var arrayResult = null;

    $.get("../php/displayGraph.php",

        function (data) {

            arrayResult = (data);
            var result = JSON.parse(arrayResult);

            $("#results").html(arrayResult);
            //$("#results").html(JSON.parse(arrayResult));


        }
    );

结果是:

[{"type":"Entertainment","count":"4"},{"type":"Other","count":"31"},{"type":"Politics","count":"50"},{"type":"Sports","count":"3"},{"type":"Technology","count":"9"}]

老实说,我甚至需要做些什么才能让它发挥作用。在这里,我认为java对json来说很糟糕。

2 个答案:

答案 0 :(得分:1)

试试这个,

$.get("../php/displayGraph.php",

    function (data) {
        $.each(data, function (i,item){
            console.log(item.type + " === " +item.count);
        } 
        /*arrayResult = (data);
        var result = JSON.parse(arrayResult);*/

        //$("#results").html(arrayResult);
        //$("#results").html(JSON.parse(arrayResult));


    }
);

答案 1 :(得分:0)

不确定原因,但以下工作

$.get("../php/displayGraph.php",
        function (data) {
            var result = JSON.parse(data);
            $("#results").html(data);
            console.log(result[1][0].count);
        }
    );

当然是我的PHP制作它的2D阵列,但我不认为这将是怎么做的,因为我看到的所有其他教程都没有像这样。