在PHP中解析来自HTTP Web服务(JSON)的响应

时间:2013-07-24 07:33:43

标签: php json web-services http

我需要使用以JSON格式响应的HTTP Web服务。考虑到Web服务的URL已知,我怎样才能在php中实现这一点?

4 个答案:

答案 0 :(得分:11)

这是你应该做的:

$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,它会返回一个关联数组。

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

玩得开心!

答案 1 :(得分:2)

你需要json_decode()响应,然后你将它作为一个php数组来处理它

答案 2 :(得分:2)

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

答案 3 :(得分: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 );