在jQuery中访问JSON编码的PHP数组


Accessing JSON encoded PHP Array in jQuery

我有一个PHP数组,它的格式如下:

$jsonArray = array(
    "facebook" => array("user" => "8", "user_id" => "10", "user_post" => "6"),
    "twitter" => array("user" => "8", "user_id" => "10", "user_post" => "6")
);

然后,我完成了以下操作,以便可以访问数组

echo "<script type='text/javascript'>window.MyArray = ".json_encode($jsonArray).";</script>";

为了访问数组,我尝试了以下方法

alert(window.MyArray['facebook'][0]['user']);

然而,这似乎失败了,有什么方向吗?

window.MyArray['facebook'][0]['user']
--------------------------^^^

为什么需要[0]

使用这个:

window.MyArray['facebook']['user']

MyArray给出这个:

{
    "facebook": {
        "user": "8",
        "user_id": "10",
        "user_post": "6"
    },
    "twitter": {
        ...
    }
}

MyArray['facebook']结果为以下数组:

{
    "user": "8",
    "user_id": "10",
    "user_post": "6"
}

因此,MyArray['facebook']['user']会导致 8 .

尝试以下方法:

alert(window.MyArray.facebook.user);

它会工作

您将 json 作为字符串传递,您需要将其转换为对象。为此,您可以使用 http://www.json.org/js.html