簡體   English   中英

使用Httpful PHP解析XML或JSON API的響應

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM