使用HTTP_Request响应内容

时间:2014-07-10 19:55:19

标签: php json http-request

我有一个HTTP_Request2_Response变量,当我使用$response->getBody()回音时,这给了我:

{"results":["element1","element2","element3"],"id":"elementID"}

有没有办法让每个元素像$respons["id"]一样?有没有办法将这些结果转换为json对象?

1 个答案:

答案 0 :(得分:2)

当然。 json_decode()是您正在寻找的功能:

<?php

$str = "{\"results\":[\"element1\",\"element2\",\"element3\"],\"id\":\"elementID\"}";

$obj = json_decode($str);

print_r($obj);

?>

产地:

stdClass Object
(
    [results] => Array
        (
            [0] => element1
            [1] => element2
            [2] => element3
        )

    [id] => elementID
)

由于它作为对象返回,因此您可以将这些元素作为公共成员访问。换句话说:$obj->id会为您提供'elementID'

或作为数组:

$array = json_decode($str, true);

print_r($array);

产地:

Array
(
    [results] => Array
        (
            [0] => element1
            [1] => element2
            [2] => element3
        )

    [id] => elementID
)

echo $array['id'];提供elementID