使用echo时,PHP-json_decode()返回null


PHP - json_decode() returns null when using echo

我正在使用以下脚本解码json。尽管var_dump($obj)返回结果(类似于示例#1中的结果),但回显行不会返回任何结果,就好像$obj为null一样。

<?php
$clientJSONObject = file_get_contents('php://input');
$obj = json_decode($clientJSONObject, TRUE);
var_dump($obj); // working.
echo $obj; // returns nothing.
echo $obj["carrier"]; // returns nothing.
?>

var_dump输出:

array(2) {
  ["carrier"]=>
  string(8) "Etisalat"
  ["userLanguage"]=>
  string(2) "ar"
}

不能像那样回显对象属性,必须使用->运算符

这是一个类似的例子,你正在寻找

echo$obj->{"objectname"}

将打印json解码对象的属性名称。我可以在你的代码中看到另一个错误。您在大写中给出true,这就是Jsondecode函数没有给您一个数组的原因,它仍然在抛出一个对象