2016-11-14 5 views
0

Ich möchte ein Skript erstellen, um GameServers Statistiken zu teilen. Ich benutze die JSON-Methode. Wie kann ich nur Hostnamen lesen?JSON Decodierung und Lesen

JSON

[ 
    [ 
     { 
      "ip": "176.57.188.22", 
      "port": "27022", 
      "rank": "1", 
      "online": "1", 
      "hostname": "..:: LS Public Server ::.. #1", 
      "num_players": "12", 
      "max_players": "32", 
      "location": "AL", 
      "mapa": "de_dust2" 
     } 
    ], 
    true 
] 

oder einen Link zu testen, LIVE HERE

ich nur den Hostnamen lesen wat. Ich habe zu viele Methoden ausprobiert, aber sie funktionieren nicht für mich.

Antwort

0

Angenommen, die JSON-Zeichenfolge (oder das Objekt) wird in der Variablen $json gespeichert.

<?php 
// convert your JSON object to a PHP array 
$decoded_json = json_decode($json, true); 

print_r($decoded_json); // print your PHP array to check how to subindex your new var 
// I think it will be something like $decoded_json[0]['hostname'] 
?> 
0
<?php 
$test = '[ 
    [ 
     { 
      "ip": "176.57.188.22", 
      "port": "27022", 
      "rank": "1", 
      "online": "1", 
      "hostname": "..:: LS Public Server ::.. #1", 
      "num_players": "12", 
      "max_players": "32", 
      "location": "AL", 
      "mapa": "de_dust2" 
     } 
    ], 
    true 
]'; 
$test = json_decode($test); 
echo $test[0][0]->hostname; 
//---output--- 
//..:: LS Public Server ::.. #1 
?> 
0

Verwendung json_decode mit true als zweitem Parameter, es gibt Ihnen ein assoziatives Array und es wird das JSON-Objekt in einen PHP-Array konvertieren.

Versuchen Sie folgendes:

<?php 
error_reporting(0); 
$test = '[ 
    [ 
     { 
      "ip": "176.57.188.22", 
      "port": "27022", 
      "rank": "1", 
      "online": "1", 
      "hostname": "..:: LS Public Server ::.. #1", 
      "num_players": "12", 
      "max_players": "32", 
      "location": "AL", 
      "mapa": "de_dust2" 
     } 
    ], 
    true 
]'; 
$data = json_decode($test,true); 

foreach ($data as $info) { 
    foreach ($info as $result) { 
     echo $result[hostname]; 
    } 
} 

?> 

Demo!

Verwandte Themen