我正在制作一个web应用程序。在它的一部分,我有JS发送一个字符串(json格式)到PHP。
php接收到的值是:
{"date":"24-03-2014","Cars":["Cheap","Expensive"]}
现在,它被保存在一个变量$meta
中。我面临的问题是,如何将这个字符串转换为对象并分别引用每个单独的条目。
我试过json_decode
和json_encode
,然后我引用了每个变量使用$meta.["date"]
和$meta.date
,但没有接缝工作。我得到的只是{
作为输出。
正确的做法是什么?
$str = '{"date":"24-03-2014","Cars":["Cheap","Expensive"]}';
$obj = json_decode($str);
echo $obj->date;
// 24-03-2014
通常$my_obj = json_decode($_POST['jsonstring'], 1);
(真正的供应意味着它将作为关联数组返回)应该是走的路。如果我是你,我可能会尝试var_dump($my_obj);
,看看到底是什么。如果它不工作,你需要确保你正确地提交一个有效的json字符串,例如JSON.stringify();
您应该查看json_decode
的PHP文档页面。
默认情况下,除非您将true
作为json_decode
的第二个参数传递,否则函数调用将返回一个对象,您可以使用
$meta->date
箭头操作符将允许您访问对象值,而不是方括号或点。