如果我在 PHP 中创建一个像这样的 json:
if ( ($result = mysqli_query($link, $sql)) && (mysqli_affected_rows($link)!==0) ) {
$entries = array();
while ($row = mysqli_fetch_assoc($result)) {
$entries[] = $row;
}
$data = json_encode($entries);
echo($data);
我会得到这个结果:
[
{"id":"100043","title":"Mini for Sale","session":"1407456000","totalViews":"0"},
{"id":"100000","title":"test","session":"1408366541","totalViews":"4"},
{"id":"100001","title":"Le Cappa","session":"1408377143","totalViews":"0"},
{"id":"100002","title":"Le Cappa","session":"1408378069","totalViews":"0"},
{"id":"100003","title":"test","session":"1408378833","totalViews":"0"}
]
如果我使用 JavaScript 执行此操作:console.log("jsondata: ", JSON.parse(data));
(其中 data 是上面的 json:data = [{"id ... )
我会得到这个结果:
jsondata: [
Object { id="100043", title="Mini for Sale", session="1407456000", mehr...},
Object { id="100000", title="test", session="1408366541", mehr...},
Object { id="100001", title="Le Cappa", session="1408377143", mehr...},
Object { id="100002", title="Le Cappa", session="1408378069", mehr...},
Object { id="100003", title="test", session="1408378833", mehr...}]
我的问题:为什么这是不同的,我如何使用 PHP 获取带有 javascript 之类的对象的 json?
更多信息:我正在尝试使用可动态插件实现一个表。仅当我再次使用 JSON.parse 传递 PHP 发送的数据时,它才有效。这对我来说意味着 PHP-json 是错误的。
$.ajax({
url: 'http://huntinggrounds.de/stats/test.php',
success: function(data){ console.log("data: ",data); console.log("jsondata: ", JSON.parse(data));
$('#my-final-table').dynatable({
dataset: {
records: JSON.parse(data)
}
});
}
});
以下是从控制台复制的展位结果。
data: [{"id":"100043","title":"Mini for Sale","session":"1407456000","totalViews":"0"},{"id":"100000","title":"test","session":"1408366541","totalViews":"4"},{"id":"100001","title":"Le Cappa | Franco Gravante","session":"1408377143","totalViews":"0"},{"id":"100002","title":"Le Cappa | Franco Gravante","session":"1408378069","totalViews":"0"},{"id":"100003","title":"test","session":"1408378833","totalViews":"0"}]
jsondata: [Object { id="100043", title="Mini for Sale", session="1407456000", mehr...}, Object { id="100000", title="test", session="1408366541", mehr...}, Object { id="100001", title="Le Cappa | Franco Gravante", session="1408377143", mehr...}, Object { id="100002", title="Le Cappa | Franco Gravante", session="1408378069", mehr...}, Object { id="100003", title="test", session="1408378833", mehr...}]
最佳答案
您在控制台中看到的是内存中实际 Javascript 对象的交互式调试表示。 Is 不是 JSON。您的 PHP 输出已经是该 Javascript 对象的完美 JSON 表示。
关于javascript - PHP json_encode 与 JAVASCRIPT JSON.parse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25460442/