如何正确使用JSON.stringify和json_decode()

我试图通过以下方式将多维度Javascript数组传递到网站上的另一页:

  • 在数组上使用JSON.stringify

  • 将结果值分配给输入字段

  • 将该字段发布到第二页

  • 在发布的值上使用json_decode

  • 然后使用var_dump进行测试

  • (直接回显已发布的变量只是看它是否通过了)

var JSONstr = JSON.stringify(fullInfoArray);

document.getElementById('JSONfullInfoArray').value= JSONstr;

$data = json_decode($_POST["JSONfullInfoArray"]);

var_dump($data);

echo($_POST["JSONfullInfoArray"]);

回声工作正常,但var_dump返回NULL

我做错了什么?


$postedData = $_POST["JSONfullInfoArray"];

$tempData = str_replace("\\", "",$postedData);

$cleanData = json_decode($tempData);

var_dump($cleanData);

我不确定为什么,但是帖子中出现了一堆“ \”字符,将字符串中的每个变量分开

json_last_error()归还Bart的想法弄清楚了JSON_ERROR_SYNTAX

回答:

您需要检查中的内容$_POST["JSONfullInfoArray"]。如果某些内容无法解析,json_decode则会返回null。这不是很有帮助,因此null返回时应检查json_last_error()以获取更多有关发生问题的信息。

以上是 如何正确使用JSON.stringify和json_decode() 的全部内容, 来源链接: utcz.com/qa/403681.html

回到顶部