Ich habe versucht, dies für ein paar Tage durch Versuch und Irrtum etc, aber immer absolut nirgendwo. PHP ist nicht meine Stärke, aber ich fühle mich im Allgemeinen wohl damit, dass ich lernen kann, wie ich gehe, wenn ich bestimmte Dinge tun muss.Pull JSON API Ergebnisse von URL und Anzeige in PHP
Was ich versuche zu tun ist, nehmen Sie die API von einer Plattform, die verwendet wird, und geben Sie es in eine andere Plattform, die verwendet wird. Ich kann die Daten von der API leicht genug über eine URL erhalten, und es läuft gut auf einem anderen Server, so dass ich ziemlich sicher bin, dass alles auf der Seite der Dinge in Ordnung ist.
Das Problem ist, dass wenn es gelingt, es von einer URL zu bekommen, es sieht ziemlich chaotisch aus. Nichts, was ich bisher probiert habe, wird es als einen schönen sauberen Block darstellen. Darüber hinaus möchte ich in der Lage sein, bestimmte Daten aus dem Ergebnis zu ziehen und genau das anzuzeigen. Die Daten herauskommen wie folgt, wenn über die URL besucht (haben Werte für die Privatsphäre usw. geändert, aber die Integrität bleiben soll):
{ „Data“: [{ „DeviceID“: „1“, „Devicename“ : "Telefon 1", "Plattform": "Telefon OS", "Edition": "Deluxe", "Staat": "0", "Zeit": "2016-03-16T13: 47: 44 + 01: 00" }]}
im Grunde, was ich versuche zu tun:
- Anzeige der Daten in einer Sperrliste, wie zu lange Linien im Gegensatz
- Allo w Auswahl eines bestimmten Gerät durch „Gerätenamen“ und dann die entsprechenden zu diesen Geräteinformationen anzuzeigen
Ich habe versucht, die folgenden Skripte bisher:
1:
<?php
$json = file_get_contents('URLHERE');
$obj = json_decode($json);
echo $obj->DeviceID;
?>
2:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'URLHERE');
$result = curl_exec($ch);
curl_close($ch);
$obj = json_decode($result);
echo $result->DeviceName;
?>
3:
<?php
$url = 'URLHERE';
$obj = json_decode(file_get_contents($url), true);
echo $obj['DeviceID'];
?>
4:
<?php
$url = "URLHERE";
$json = file_get_contents($url);
$json_data = json_decode($json, true);
echo "Device: ". $json_data["DeviceID"];
?>
5:
<?php
$json = file_get_contents('URLHERE');
$encodeJ = utf8_encode($json);
$obj = json_decode($encodeJ);
var_dump($obj-> DeviceID);
?>
Der vierte ist der nächstgelegene ich habe es geschafft, um es Daten zu erhalten Anzeigen dieser Methoden verwenden, sondern als alle Informationen bekomme ich nur "Gerät: NULL"
Jede Hilfe wäre willkommen. Ich ziehe mir die Haare aus!
UPDATE: geschafft haben einige Fortschritte bei der folgenden machen:
<?php
$data = file_get_contents('URLHERE');
$response = json_decode($data, true);
echo 'Device: ' . $response['Data']['0']['DeviceName'];
echo 'Device: ' . $response['Data']['1']['DeviceName'];
?>
Dies wird die Gerätenamen aus dem Feld für Wert 0 und 1 Anzeige So, jetzt muss ich herausfinden, wie Iteriere durch das Array und zeige jedes in der Reihenfolge an, im Gegensatz zur harten Codierung jedes einzelnen.
Dies ist sehr nützlich, ich kann es verwenden, um Informationen für alle Geräte anzuzeigen. Ich habe es leicht gemacht, und habe verwendet: '$ deviceName = $ arr ['Data'] ['0'] ['DeviceName'];' stattdessen. Mein Problem ist jetzt, dass, anstatt jedes sequentiell anzuzeigen, nur Array-Wert 0 auf jedem Gerät angezeigt wird. Jedes Gerät wird mit Informationen angezeigt, die für dieses Gerät spezifisch sind, abgesehen von dem Namen ist immer der Wert von Array space 0. Wie würde ich jeden in diesem Fall durchlaufen und die richtigen Namen anzeigen? –
Es ist nicht ganz klar, was Sie unter "Auswahl eines bestimmten Geräts über Gerätename zulassen" verstehen: Ja, ich dachte mir, dass für diesen Teil ein JS benötigt wird. Ich werde daran arbeiten, sobald die Kernfunktionen funktionieren. Im Moment besteht die Hauptaufgabe meines Erachtens darin, alle vollständig aufgelistet zu bekommen und dann daran zu arbeiten, ein bestimmtes Gerät auszuwählen. –
Ich habe meine Antwort auf den Teil "To" aktualisiert. Zeige die Daten in einer Blockliste an, im Gegensatz zu langen Zeilen. ", Use:", um zu reflektieren, was dein Kommentar deutlich macht. –