微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用php $Key值访问JSON值

在回答Get JSON object from URL Difficulties时,我注意到其中一个JSON名称是“$id”:

{ "data" : [
    {
        "$id": "1",
        "SearchKey": "Alnwick |Alnwick",
        ...

这导致以下PHP代码抛出不同的错误

$json = ... //json above
$obj = json_decode($json);
echo property_exists($obj->data[0], '$id'); // prints true
echo $obj->data[0]->$id; // PHP Fatal error: Cannot access empty property ...
echo $obj->data[0]->id; // PHP Notice: Undefined property stdClass::$id ...
echo $obj->data[0]->'$id'; // PHP Parse Error: Syntax error, unexpected ''$id'' (T_CONSTANT_ENCAPSED_STRING) ...

假设json被解码为对象而不是数组,我如何访问“$id”字段?

解决方法:

通过{‘invalid-parameter-name’}访问变量有效:

 echo $obj->data[0]->{'$id'}; // 1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐