从URL Difficulties回答Get JSON对象时,我注意到其中一个JSON名称是"$id":
{ "data" : [
{
"$id": "1",
"SearchKey": "Alnwick |Alnwick",
...
Run Code Online (Sandbox Code Playgroud)
这导致以下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) ...
Run Code Online (Sandbox Code Playgroud)
假设json被解码为对象而不是数组,我该如何访问该"$id"字段?
通过{'invalid-parameter-name'}工程访问变量:
echo $obj->data[0]->{'$id'}; // 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |