在回答Get JSON object from URL Difficulties时,我注意到其中一个JSON名称是“$id”:
{ "data" : [
{
"$id": "1",
"SearchKey": "Alnwick |Alnwick",
...
$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 举报,一经查实,本站将立刻删除。