将json转换为数组

时间:2014-04-11 19:22:03

标签: php jquery json handsontable

我有这个脚本:

<script type="text/javascript">

jQuery(function($) {
    var newsList = $('.handsontable');


    function updateNews(){
        newsList.html("Loading…");
        $.ajax({
            url: "<?php echo $this->createUrl('data')?>",
            cache: false,

            success: function(data) {   

                 //alert(data);   

                newsList.html(JSON.parse(data));
            },
        });
    }

    updateNews();


});

返回有效的json:

{
    "score": [
        {
            "player_fullname": "Alex",
            "game_id": "78",
            "player_id": "1"
        },
        {
            "player_fullname": "George",
            "game_id": "78",
            "player_id": "2"
        },
        {
            "player_fullname": "Nick",
            "game_id": "78",
            "player_id": "3"
        },
        {
            "player_fullname": "John",
            "game_id": "78",
            "player_id": "4"
        },
        {
            "player_fullname": "Steve",
            "game_id": "78",
            "player_id": "5"
        }
    ]
}

我现在想把它转换成数组。我尝试过JSON.parse(数据),但它没有返回任何内容。我究竟做错了什么?请帮忙。

PS。我使用Yii,这个代码在视图中,我需要将这些数据转换为数组,以便我可以使用handontable api。

2 个答案:

答案 0 :(得分:2)

首先,在您的AJAX调用中添加dataType,将其设置为'json',它会在重新输入时自动转换数据。现在,只需在success

中设置数据即可
success: function(data) {
    var myArray = data.score;
}

答案 1 :(得分:0)

@tymeJV是正确的,但如果你真的需要一个数组,你可以这样做

var players = $.parseJSON(data);