0

我在 Javascript 中有一个 JSON 数据,使用 JSON.stringify 制作表单数组

{
   "user":"Mark",
   "id":"80",
   "0":["age","=","twenty four","varchar"],
   "1":["prefix","=","Mr.","enum"]
}

我通过 AJAX 将其发送到 PHP 文件。当我回显 POST 时,我得到了值

echo (serialize($_POST['data']));

s:263:
"{
    "user":"Mark",
    "id":"80",
    "0":["age","=","twenty four","varchar"],
    "1":["prefix","=","Mr.","enum"]
 }";

如何在数组或对象中获取 POSTed 数据。我试过做

var_dump(json_decode($_POST['data']));
AND
var_dump(json_decode(serialize($_POST['data']))); AND var_dump(json_decode($_POST['data'],true));

但他们没有工作。输出为空。

4

3 回答 3

0

如果您的 PHP 版本 >=5.2.0,您可以使用以下内置 PHP 函数来解码 JSONS

json_decode($_POST['data'])

它返回 Array 和 StdClass 对象。

编辑:您是如何发现 json_decode 不起作用的。请尝试 ver_dump 或 print_r。希望你的 PHP 版本 >=5.2.0

于 2012-08-28T05:58:07.937 回答
0

json_decode()应该为您解决问题,但取决于您的服务器配置(如果magic_quotes_gpc已打开),您可能需要在解码之前使用stripslashes() 。

于 2012-08-28T05:58:21.210 回答
0

你必须把它存储到某个东西上。

$posted = json_decode($_POST['data']);
var_dump($posted);
于 2012-08-28T05:58:49.077 回答