4

我需要使用一个以 JSON 格式响应的 HTTP Web 服务。鉴于 Web 服务的 URL 已知,我如何在 php 中实现这一点?

4

4 回答 4

10

这是你应该做的:

$data = file_get_contents(<url of that website>);
$data = json_decode($data, true); // Turns it into an array, change the last argument to false to make it an object

这应该能够将 JSON 数据转换为数组。

现在,解释它的作用。

file_get_contents()本质上是获取远程或本地文件的内容。这是通过 HTTP 门户进行的,因此您不会通过将此功能用于远程内容而违反隐私政策。

然后,当您使用 时json_decode(),它通常会将 JSON 文本更改为 PHP 中的对象,但由于我们添加true了第二个参数,因此它会返回一个关联数组。

然后你可以对数组做任何事情。

玩得开心!

于 2013-07-24T07:38:51.850 回答
2

您需要json_decode()响应,然后将其作为 php 数组进行处理

于 2013-07-24T07:35:17.453 回答
2

首先使用curl阅读回复。然后,使用 json_decode() 来解析你使用 curl 得到的响应。

于 2013-07-24T07:36:14.743 回答
2
    // setup curl options
    $options = array(
        CURLOPT_URL => 'http://serviceurl.com/api',
        CURLOPT_HEADER => false,
        CURLOPT_FOLLOWLOCATION => true
    );

    // perform request
    $cUrl = curl_init();
    curl_setopt_array( $cUrl, $options );
    $response = curl_exec( $cUrl );
    curl_close( $cUrl );

    // decode the response into an array
    $decoded = json_decode( $response, true );
于 2013-07-24T07:51:13.573 回答