我有一个HTTP_Request2_Response
变量,当我使用$response->getBody()
回音时,这给了我:
{"results":["element1","element2","element3"],"id":"elementID"}
有没有办法让每个元素像$respons["id"]
一样?有没有办法将这些结果转换为json对象?
答案 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
。