0

JSON就像

{
    "@http_status_code": 200,
    "@records_count": 200,
    "warnings": [],
    "query": { ... ...

在 PHP 中

$data = json_decode($json_entry);
print $data->@http_status_code; //returns error
print $data->http_status_code; //returns nothing

如何检索状态码?

4

5 回答 5

3

1)作为对象方式

$data = json_decode($json_entry);
print $data->{'@http_status_code'}; 

2)通过传递第二个参数作为数组方式true使用json_decode

$data = json_decode($json_entry, true);
print $data['@http_status_code'];
于 2013-05-14T04:19:15.237 回答
1

要访问名称中包含时髦字符的对象属性,请引用名称并将其放在大括号中。

print $data->{'@http_status_code'};

或者,假设$data = json_decode($json_entry, true);将数据作为数组取回。

于 2013-05-14T04:16:04.360 回答
1

执行此操作时,PHP c 将给出语法错误:

$data->@http_status_code; 

它寻找$http_status_code不存在的变量

所以为了完成这项工作,你必须这样做:

echo $data->{'@http_status_code'};
于 2013-05-14T04:21:36.800 回答
1

尝试json_decode以数组的形式获取 json ..

$json_array     =  json_decode($data, true);
$required_data  = $data['required_key']

参考您的特定问题..您将得到数组

Array
(
[@http_status_code] => 200
[@records_count] => 200
[warnings] => Array
    (
    )
   ....
) 

所以你可以访问你的数据$data['@http_status_code']

于 2013-05-14T04:22:06.443 回答
0

试试这个:

$data = json_decode($json_entry, true);
print $data["@http_status_code"];
于 2013-05-14T04:14:08.380 回答