使用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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...