gpt4 book ai didi

php - 为什么 json_decode 不起作用?

转载 作者:行者123 更新时间:2023-12-01 07:48:40 25 4
gpt4 key购买 nike

有人可以告诉我以下代码中的错误在哪里吗?我想读取 json 数组中第 1 个位置的标题。

<script>
$(document).ready(function(){
$('#loading').click(function(){
var NpPData = [
{
"title": "Professional JavaScript",
"author": "Nicholas C. Zakas"
},
{
"title": "JavaScript: The Definitive Guide",
"author": "David Flanagan"
},
{
"title": "High Performance JavaScript",
"author": "Nicholas C. Zakas"
}
];
var NpPDataJSON = JSON.stringify(NpPData);
alert(NpPDataJSON);
$.post("prueba.php", NpPDataJSON, function(r){
$('#result').html('Answer from server: '+r);
},
'json').error(function(e){
alert('FAiled: '+e.statusText);
});
});

});
</script>

和 PHP:

$json = $_POST['NpPDataJSON'];
$data = json_decode($json);
echo $data[1]['title'];

最佳答案

将第二个参数设置为 TRUE 以获得 json_decode()返回 array 而不是 stdClass 对象:

$json = $_POST['NpPDataJSON'];
$data = json_decode($json, true); // note the second argument
echo $data[1]['title']; // returns 'JavaScript: The Definitive Guide'

When TRUE, returned objects will be converted into associative arrays.

<小时/>

此外,根据@Strynercomment ,看来您滥用了 $.post()功能。您需要为传递到服务器的数据设置一个名称,因此传递一个对象而不是变量:

$.post("prueba.php", {NpPDataJSON: NpPDataJSON}, function(r){/* ... */}, 'json');

关于php - 为什么 json_decode 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32588394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com