-1

我有以下Json

[response] => stdClass Object
    (
        [status] => 1
        [httpStatus] => 200
        [data] => Array
            (
                [0] => 230
                [1] => 1956
                [2] => 1958
                [3] => 2294
   )

如何从响应中获取数据数组?

我知道这很简单。

更新

这是我的一些源代码

$url = $base . http_build_query( $params );
$result = file_get_contents( $url );

echo '<pre>';
print_r( json_decode( $result ) );
echo '</pre>';
$data = $result->response->data;
print_r($data);
4

3 回答 3

2
$json_object = json_decode($result);
print_r($json_object->response->data);

在 PHP 中,->对象运算符(或箭头)。我鼓励您阅读更多关于PHPjson_decode().

于 2013-08-01T14:53:41.520 回答
1

就像这样:-

[response] => stdClass Object
    (
        [status] => 1
        [httpStatus] => 200
        [data] => Array
            (
                [0] => 230
                [1] => 1956
                [2] => 1958
                [3] => 2294
   )
$json_data=json_decode($response,true);
于 2013-08-01T14:55:11.737 回答
1

那不是 JSON,而是 PHP 数组或对象。您没有提供足够的信息来判断它是哪一个。

您可以使用以下任一方法从中访问数据数组:

$data = $arr['response']->data;

或者:

$data = $obj->response->data;

$arr或替换$obj为实际的变量名。

编辑

您的变量包含一个字符串,因为在解码后您没有保存结果。试试下面的代码:

$url = $base . http_build_query( $params );
$json = file_get_contents( $url );

$result = json_decode($json);
$data = $result->response->data;

echo '<pre>',print_r($data, true),'</pre>';
于 2013-08-01T14:56:03.860 回答