Php Can';t打印从解析JSON获得的数据

Php Can';t打印从解析JSON获得的数据,php,json,decode,Php,Json,Decode,我创建了这个JSON数据: { "status" : "fail", "data" : { "error_message" : "Label already exists on your account for Network." } } 我的PHP页面中的代码是: $newaddr = json_decode($json, true); echo $newaddr->status; echo $newaddr->data; 运行时得到的结果是: 失败 如何在

我创建了这个JSON数据:

{
  "status" : "fail",
  "data" : {
    "error_message" : "Label already exists on your account for Network."
  }
}
我的PHP页面中的代码是:

$newaddr = json_decode($json, true);
echo $newaddr->status;
echo $newaddr->data;
运行时得到的结果是:

失败

如何在我的页面中显示
error\u message
的值?因为:

$newaddr->data

使用
var\u dump($newaddr->data)打印时,其值为
null

当您使用
json\u解码时(…,true)
第二个参数意味着您希望将json解析为关联数组。但是,您正在尝试按对象属性获取数据

解决办法是:

  • 将第二个参数更改为false

    $newaddr = json_decode($json, false);
    echo $newaddr->status;
    echo $newaddr->data->error_message;
    
  • 用数组方式获取数据

    $newaddr = json_decode($json, true);
    echo $newaddr['status'];
    echo $newaddr['data']['error_message'];
    

  • 当您使用
    json\u解码时(…,true)
    第二个参数意味着您希望将json解析为关联数组。但是,您正在尝试按对象属性获取数据

    解决办法是:

  • 将第二个参数更改为false

    $newaddr = json_decode($json, false);
    echo $newaddr->status;
    echo $newaddr->data->error_message;
    
  • 用数组方式获取数据

    $newaddr = json_decode($json, true);
    echo $newaddr['status'];
    echo $newaddr['data']['error_message'];
    

  • 尝试了两个答案,但结果仍然为空。在此处可以正常工作:。也许json没有正确编码?尝试显示更多代码尝试了这两个答案,但结果仍然为空。在此处可以正常工作:。也许json没有正确编码?尝试显示更多代码