Ich verwende die Httpful PHP library zum Abrufen von Daten aus einer API mit JSON oder XML. Mein Code ist sehr einfach und gibt die Antwort von der URL mit der Standardauthentifizierung zurück.Parse Antwort von XML oder JSON API mit Httpful PHP
$url = "API_URL";
$response = \Httpful\Request::get($url)
->expectsXml() // or ->expectsJson()
->authenticateWith('USERNAME', 'PASSWORD')
->send();
echo "{$response}";
Ich bin erfolgreich in der Anzeige der gesamten Antwortausgabe, aber wie gebe ich eine einzelne Variable zurück?
Zum Beispiel, wenn ich nur Stadt von jeder Person erhalten wollte, wie würde das aussehen? Ich habe versucht echo "{$response->body->city}";
, aber es scheint nicht zu funktionieren.
Die XML, die von der api formatiert als solche zurückgegeben wird:
<ArrayOfPERSON xmlns:i="xxx" xmlns="xxx">
<PERSON>
<CITY></CITY>
<COUNTRY></COUNTRY>
<STATE></STATE>
<STREET1></STREET1>
<STREET2></STREET2>
<WORKPHONE></WORKPHONE>
<ZIP></ZIP>
</PERSON>
</ArrayOfPERSON>
und Schalt den Header zu JSON hat die Daten formatiert als:
[
{
"STREET1": ""
"STREET2": ""
"CITY": ""
"STATE": ""
"ZIP": ""
"COUNTRY": ""
"WORKPHONE": ""
}
]
@jszobody Ja, das hat funktioniert! Es scheint auch die Groß- und Kleinschreibung zu beachten. '$ response-> body [0] -> CITY' ist die korrekte Ausgabe. – cul8r
genial, froh zu helfen! Ich habe es gerade als Antwort unten gepostet, können Sie das akzeptieren? – jszobody