2016-04-28 10 views
1

Ich habe den folgenden Code, den ich versuche, den Inhalt von jSON zu bekommen;Parsen von JSON-Objekten in PHP mit der Funktion json_decode

$url = "http://useragentapi.com/api/v3/json/APIKEY/$ua"; 
$json = file_get_contents($url); 
$json_data = json_decode($json, true); 
echo "My Platform: ". $json_data["data.platform_name"]; 

Ich muss dann innerhalb der Daten bekommen, um PLATFORM_NAME gut muss ich die alle Elemente der JSON object zugreifen, aber ich kann den Code zu arbeiten.

Das JSON-Ergebnis [$json_data] ist dies.

{ 
"data": { 
     "platform_name": "Mac OSX El Capitan", 
     "platform_version": "Mac OS X 10_11", 
     "platform_type": "Desktop", 
     "browser_name": "Chrome", 
     "browser_version": "52.0.2718.0", 
     "engine_name": "WebKit", 
     "engine_version": "537.36" 
     } 
} 
+0

Post Versuchen Sie, nur Ihre 'json', keine Notwendigkeit, von anderen Dingen. –

Antwort

3

versuchen, dies:

$json = '{ 
"data": { 
     "platform_name": "Mac OSX El Capitan", 
     "platform_version": "Mac OS X 10_11", 
     "platform_type": "Desktop", 
     "browser_name": "Chrome", 
     "browser_version": "52.0.2718.0", 
     "engine_name": "WebKit", 
     "engine_version": "537.36" 
     } 
}'; 

Decode die json json_decode Funktion und zweiten Parameter als wahr verwenden für das assoziative Array als Ausgabe erhalten.

$arr = json_decode($json, true); 

Ergebnis

Array 
(
    [data] => Array 
     (
      [platform_name] => Mac OSX El Capitan 
      [platform_version] => Mac OS X 10_11 
      [platform_type] => Desktop 
      [browser_name] => Chrome 
      [browser_version] => 52.0.2718.0 
      [engine_name] => WebKit 
      [engine_version] => 537.36 
     ) 

) 

echo $arr['data']['platform_name']; 

Ausgang:

Mac OSX El Capitan 

Wenn Sie die wahre nicht als zweiten Parameter von json_decode verwenden, dann haben Sie dies zu tun :

$arr = json_decode($json); 

echo $arr->data->platform_name; //Mac OSX El Capitan 
+1

Erstaunlich! Danke –

+0

@LiamArmour, Wenn Sie von dieser Antwort geholfen haben, dann müssen Sie dies als Antwort akzeptieren. –

1

Diese

$json = '{ 
    "data": { 
    "platform_name": "Mac OSX El Capitan", 
    "platform_version": "Mac OS X 10_11", 
    "platform_type": "Desktop", 
    "browser_name": "Chrome", 
    "browser_version": "52.0.2718.0", 
    "engine_name": "WebKit", 
    "engine_version": "537.36" 
    } 
}'; 


$arr = json_decode($json); 
echo $arr->data->platform_name;