在PHP中使用->时获取空白而不是值

在PHP中使用->时获取空白而不是值,php,Php,我正在制作一个网络应用程序。其中一部分,我让JS向PHP发送一个JSON字符串。字符串的内容是: {"date":"24-03-2014","Cars":["Cheap","Expensive"]} 我想将字符串转换为对象,我正在执行以下操作: $meta = $_POST["meta"]; $obj = json_decode($meta); echo $obj->date; 无论如何,我得到的不是2014年3月24日的输出,而是一个空行作为输出 怎么了?正确的方法是什么?无法重新生

我正在制作一个网络应用程序。其中一部分,我让JS向PHP发送一个JSON字符串。字符串的内容是:

{"date":"24-03-2014","Cars":["Cheap","Expensive"]}
我想将字符串转换为对象,我正在执行以下操作:

$meta = $_POST["meta"];
$obj = json_decode($meta);
echo $obj->date;
无论如何,我得到的不是2014年3月24日的输出,而是一个空行作为输出


怎么了?正确的方法是什么?

无法重新生成:

$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)

你确定你的$\u POST['meta']设置好了并且有值吗?

下面的工作很有魅力。您的$\u POST[date]中的值不正确。请尝试var_dump$\u 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"
?>

它工作正常,请检查$\u POST数据的格式是否符合u指定的格式。第一步:是否打开错误报告?元包含什么?$obj包含什么?它对我有用。您确定元参数中有JSON吗?var_dump$_POST['meta']是什么;给你?这应该是一个简短的评论。同样,应该是一个评论。