Преобразовать JSON в массив

У меня есть этот скрипт:

<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(data), но он ничего не возвращает. Что я делаю неправильно? Пожалуйста помоги.

PS. Я использую Yii, этот код находится в представлении, и мне нужно преобразовать эти данные в массив, чтобы я мог использовать их с API-интерфейсом handsontable.

2 ответа

Сначала добавьте dataType на ваш вызов AJAX, установите его 'json' и он автоматически преобразует данные при повторном вводе. Теперь просто установите данные в вашем success

success: function(data) {
    var myArray = data.score;
}

@tymeJV правильно, но если вам действительно нужен массив, вы можете сделать это

var players = $.parseJSON(data);
Другие вопросы по тегам