[英]Parse response from XML or JSON API with Httpful PHP
我正在使用Httpful PHP庫從使用JSON或XML的API獲取數據。 我的代碼非常簡單,並使用基本身份驗證從url返回響應。
$url = "API_URL";
$response = \Httpful\Request::get($url)
->expectsXml() // or ->expectsJson()
->authenticateWith('USERNAME', 'PASSWORD')
->send();
echo "{$response}";
我可以成功顯示整個響應輸出,但是如何返回單個變量?
例如,如果我只想從每個人那里接收城市,那會是什么樣? 我已經試過echo "{$response->body->city}";
但它似乎不起作用。
api返回的XML格式如下:
<ArrayOfPERSON xmlns:i="xxx" xmlns="xxx">
<PERSON>
<CITY></CITY>
<COUNTRY></COUNTRY>
<STATE></STATE>
<STREET1></STREET1>
<STREET2></STREET2>
<WORKPHONE></WORKPHONE>
<ZIP></ZIP>
</PERSON>
</ArrayOfPERSON>
並將標頭切換為JSON時,數據格式為:
[
{
"STREET1": ""
"STREET2": ""
"CITY": ""
"STATE": ""
"ZIP": ""
"COUNTRY": ""
"WORKPHONE": ""
}
]
通過查看您的JSON結構,看起來響應是嵌套的。
因此,我相信您需要像這樣訪問身體:
echo $response->body[0]->STREET1;
旁注:當您不知道如何導航時,僅通過執行var_dump($response)
來檢查$response
總是有用的。 只看結果結構通常會使答案很清楚!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.