2017-02-28 6 views
0

Ich versuche, eine JSON von PHP wie folgt zu lesen:lesen External JSON in PHP

[{ 
    "titulo": "DontAsk", 
    "pais": "Austria", 
    "country_iso": "AT", 
    "direccion": "Mag. Th. Langmann Gmbh Landstrasse 4", 
    "cp_ciudad": "A-2000 STOCKERAU", 
    "lat": "48.385583", 
    "long": "16.207823", 
    "telefono": "43-2266-72554-11", 
    "fax": "43-2266-72554-44", 
    "web": "www.aaa.com" 
}, { 
    "titulo": "Other One", 
    "pais": "Czech Republic", 
    "country_iso": "CZ", 
    "direccion": "Pod Cihelnou 6", 
    "cp_ciudad": "664 161 00 PRAHA 6", 
    "lat": "50.092605", 
    "long": "14.312707", 
    "telefono": "420 233 313 578", 
    "fax": "420 233 313 582", 
    "web": "www.bbb.com" 
}] 

Die JSON keine Fehler hat, habe ich versucht, mit JsonLint und fand es sauber. Ich habe mehr Einfügungen, aber ich nur 2.

Dann geputtet ich versuche, eine Code-Zeile dieses:

 $json = json_decode(file_get_contents($url), true); 
    var_dump($json); 

die URL kehrt ruft die URL gut, aber in der var_dump kehrt NULL

I sah viele Antworten und Fragen, und habe keine Antwort gefunden. Einige Hilfe?

lesen Json -> in Array Konvertieren in PHP -> Rufen Sie das Array

Dank

+0

Mögliches Duplikat von [Wie extrahiere ich Daten aus JSON mit PHP?] (Http://stackoverflow.com/questions/29308898/how-do-i-extract-data-from-json-with-php) –

+0

was ist dein Problem? –

+0

Dieser JSON-String wird korrekt mit 'json_decode' geparst. https://3v4l.org/3Qn0V Überprüfen Sie, ob 'file_get_contents ($ url)' Ihnen das erwartete Ergebnis liefert. –

Antwort

0

Der JSON-String ($ json) in dem obigen Code ist ein Array von Objekten. Das heißt, die äußere Ebene ist ein Array-Literal, dessen Elemente Objektliterale sind. Standardmäßig wird das Ergebnis von json_decode ein numerisch indiziertes Array von Objekten sein

$json = '[{ 
"titulo": "DontAsk", 
"pais": "Austria", 
"country_iso": "AT", 
"direccion": "Mag. Th. Langmann Gmbh Landstrasse 4", 
"cp_ciudad": "A-2000 STOCKERAU", 
"lat": "48.385583", 
"long": "16.207823", 
"telefono": "43-2266-72554-11", 
"fax": "43-2266-72554-44", 
"web": "www.aaa.com" 
}, { 
"titulo": "Other One", 
"pais": "Czech Republic", 
"country_iso": "CZ", 
"direccion": "Pod Cihelnou 6", 
"cp_ciudad": "664 161 00 PRAHA 6", 
"lat": "50.092605", 
"long": "14.312707", 
"telefono": "420 233 313 578", 
"fax": "420 233 313 582", 
"web": "www.bbb.com" 
}]'; 
$data = json_decode($json); 
echo $data[1]->titulo; 

und für Ihre Referenz dieses http://www.dyn-web.com/tutorials/php-js/json/decode.php

0

überprüfen Wenn das, was Sie wollen, ist ein assoziatives Array für die spätere Arbeit mit PHP statt einer Reihe von Objekte (das, was json_decode Hände Standardeinstellung), geben sie es dann auf dem zweiten Parameter der Funktion wie folgt aus:

$json = '[{ 
"titulo": "DontAsk", 
"pais": "Austria", 
"country_iso": "AT", 
"direccion": "Mag. Th. Langmann Gmbh Landstrasse 4", 
"cp_ciudad": "A-2000 STOCKERAU", 
"lat": "48.385583", 
"long": "16.207823", 
"telefono": "43-2266-72554-11", 
"fax": "43-2266-72554-44", 
"web": "www.aaa.com" 
}, { 
"titulo": "Other One", 
"pais": "Czech Republic", 
"country_iso": "CZ", 
"direccion": "Pod Cihelnou 6", 
"cp_ciudad": "664 161 00 PRAHA 6", 
"lat": "50.092605", 
"long": "14.312707", 
"telefono": "420 233 313 578", 
"fax": "420 233 313 582", 
"web": "www.bbb.com" 
}]'; 

$data = json_decode($json, true); 
var_dump($data['titulo']); 

Aber wenn das Problem ist, dass es zurückkehrt NULL, überprüfen Sie, ob Ihr Skript überhaupt die erwartete Eingabe erhält (z. B. G. Sie erhalten eine Zeichenfolge parseable von json_decode).