我正在制作一个网络应用。在其中的一部分,我有JS向PHP发送一个JSON字符串。字符串的符号是:
{"date":"24-03-2014","Cars":["Cheap","Expensive"]}
我想将字符串转换为对象,我正在做的事情:
$meta = $_POST["meta"];
$obj = json_decode($meta);
echo $obj->date;
无论如何,我没有输出24-03-2014
,而是输出一个空行。
出了什么问题?这样做的正确方法是什么?
答案 0 :(得分:0)
无法重新制作它:
$jsonStr = '{"date":"24-03-2014","Cars":["Cheap","Expensive"]}';
$jsonObj = json_decode($jsonStr);
var_dump($jsonObj);
var_dump($jsonObj->date);
输出:
object(stdClass)[1]
public 'date' => string '24-03-2014' (length=10)
public 'Cars' =>
array (size=2)
0 => string 'Cheap' (length=5)
1 => string 'Expensive' (length=9)
string '24-03-2014' (length=10)
您确定$_POST['meta']
已设置&有价值吗?
答案 1 :(得分:0)
下面的作品就像一个魅力。你的$ _POST [“date”]里面没有正确的值。尝试使用var_dump($ _ POST)进行调试。
<?php
$input = '{"date":"24-03-2014","Cars":["Cheap","Expensive"]}';
$meta = $input;
$obj = json_decode($meta);
var_dump($obj->date); //Prints string(10) "24-03-2014"
?>