0
我有一個HTTP_Request2_Response
變量時,我使用的回聲它$response->getBody()
使我這個:使用HTTP_REQUEST響應內容
{"results":["element1","element2","element3"],"id":"elementID"}
有沒有什麼辦法讓像$respons["id"]
每個元素?有什麼辦法將這些結果轉換成json對象嗎?
我有一個HTTP_Request2_Response
變量時,我使用的回聲它$response->getBody()
使我這個:使用HTTP_REQUEST響應內容
{"results":["element1","element2","element3"],"id":"elementID"}
有沒有什麼辦法讓像$respons["id"]
每個元素?有什麼辦法將這些結果轉換成json對象嗎?
當然。 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
。
非常感謝,但是如果元素的數量(element1,element2,...)未知並且其數量可能不同,該怎麼辦?有沒有更靈活的方式來獲得它們? – m0j1
這取決於你想要做什麼。你應該像處理任何其他未知長度的數組一樣處理它。 –
我不想手動編輯字符串,然後得到它的JSON文件,我想定義一個模式,例如定義我有「結果」和「ID」的值,然後用結果[0 ] – m0j1