0

JSON 非常令人困惑,我找不到可以帮助我的帖子,所以我决定自己问这个问题。

快速总结

我需要我的 php 数组显示为每个包含 id、标签和类型的数组的 [object Object]——当使用 json 传递给我的 JavaScript 时。这是我尝试过的:

if( $node_id == NULL ) {
echo json_encode(array(
    0 => array( array("id" => 1, "label" => "A lunch", "type" => "folder"), array("id" => 2, "label" => "A lunch", "type" => "folder"))
));
}

当我运行此代码时,我不断收到警报以显示:

{"0":{"0":{"id":1,"label":"A lunch","type":"folder"},"1":{"id":2,"label":"A lunch","type":"folder"}}}

当它看起来像

[object Object],[object Object]

那么有人可以通过json帮助将其转换为该格式,或者可以完成吗?

4

2 回答 2

1

您正在警告一个字符串,因此 jQuery 似乎没有将您的响应识别为 JSON,并且它没有被解析。尝试这个:

$.ajax({
    url : "php/resource.php", 
    data : { node_id: node_id },
    dataType : "json"
}).done(function(data) {
    alert(data);
    return callback(null, data);
}).fail(function() {
    return callback("AJAX error");
});
于 2013-08-16T21:14:11.043 回答
1

此外,您可以在 php 中将内容类型设置为 application/json

header('Content-Type','application/json');
于 2013-08-16T23:16:48.613 回答