将json转换为数组

Posted

技术标签:

【中文标题】将json转换为数组【英文标题】:convert json into array 【发布时间】:2014-05-26 02:28:39 【问题描述】:

我有这个脚本:

<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,这段代码在一个视图中,我需要把这些数据转换成数组,这样我就可以和handsontable api一起使用了。

【问题讨论】:

第一个 console.log(data);并检查它返回的字符串或对象 它返回我上面提到的json。 那么你不需要这样做 JSON.parse(data);直接使用数据它已经是 JSON obj。 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

var players = $.parseJSON(data);

【讨论】:

以上是关于将json转换为数组的主要内容,如果未能解决你的问题,请参考以下文章

将 JSON 二维数组转换为 AS3 数组

如何以角度将 JSON 对象数组转换为 Observable 数组

如何将多维数组转换为json对象[关闭]

将 java 数据列表转换为 JSON 数组数组

Xamarin 表单将 Json 数组转换为 C# 并返回 JSON 数组

将 json 转换为 C# 数组?