如何从php返回的json对象创建js数组


How can I create js array from json object returned from php?

Javascript的最后一行代码提醒您正在处理的对象类型。内容如下:

alert(Object.prototype.toString.apply(obj))

所以,我正在与 php js - extjs 4.2 一起工作,并寻找一种方法通过使用 json_encode() 将php创建的associative array传递给java。所以我做了如下操作:

<?php echo json_encode($some_array); ?>
Ext.Ajax.request(
{
    url: 'php/parse.php?id='+buttonText,
    method: 'GET',
    success: function(response) 
    {
        //var obj = response;
        var obj = response.responseText;
        alert(Object.prototype.toString.apply(obj));                    
    },
    failure: function(response) 
    {
        alert('server-side failure with status code ' + response.status);
    }
});

php部分的代码是在parse.php文件,你可以看到从js代码。当我警告obj时,它显示一个json编码的php数组字符串。js说obj是一个 string object 。如果我保留注释行而没有responseText, js会警告 obj is an Object ,但不会说什么类型(猜测json类型)。

我想要实现的是,是有一个合法的js数组,将从响应(响应是参数)得到php数组。在函数中)。由于

EDIT: my php数组结构

array
(
    'vars' => array( 
                   [0] => 'name' => '1', 'value' => 2
                   [1] => ... )
    'file' => array(
                   [0] => 'name' => 'aaa.aa'
                   [1] => ...)
)

你在问如何解析 json编码的数据字符串到Javascript对象。

内置的JSON.parse函数就是这样做的。