1

JSON または XML を使用して API からデータを取得するために、Httpful PHP ライブラリを使用しています。私のコードは非常にシンプルで、基本認証を使用して 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": ""
  }
]
4

1 に答える 1

2

JSON 構造を見ると、応答がネストされているように見えます。

したがって、次のように body にアクセスする必要があると思います。

echo $response->body[0]->STREET1;

補足:ナビゲートする方法がわからない場合は$response、単に aを実行して調べることは常に役に立ちます。var_dump($response)結果の構造を見るだけで、通常、答えは非常に明確になります。

于 2016-06-10T16:37:50.980 に答える