2010-10-07 7 views
0

Donc, je suis actuellement en train de faire ce ..Obtenir des informations de JSON

function get_info($data) 
{ 
    $json = file_get_contents("http://site.com/".$data.".json"); 
    $output = json_decode($json, true); 
    return $output; 
} 

ce qui est bien et retourne tout comme ceci:

array(1) { ["allocation"]=> array(20) { ["carrier_ocn"]=> string(4) "6664" ["available_on"]=> NULL ["status"]=> string(9) "allocated" ["access_type"]=> string(8) "wireless" ["ratecenter"]=> string(9) "CHARLOTTE" ["lat"]=> float(35.2270869) ["contaminations"]=> NULL ["city"]=> string(9) "CHARLOTTE" ["lng"]=> float(-80.8431267) ["current_on"]=> string(10) "2010-04-28" ["block_code"]=> NULL ["npa"]=> int(704) ["geo_precision"]=> int(4) ["nxx"]=> int(291) ["assigned_on"]=> NULL ["country"]=> string(2) "US" ["region"]=> string(2) "NC" ["ratecenter_formatted"]=> string(9) "Charlotte" ["carrier"]=> string(20) "SPRINT SPECTRUM L.P." ["effective_on"]=> NULL } } 

Comment puis-je faire ce retour que des valeurs sélectionnées comme « ratecenter_formatted ". Je veux juste obtenir "Charlotte" de la décharge ci-dessus. Comment ferais-je cela?

Merci d'avance!

Répondre

2

Hmmm, juste pêcher à partir de la matrice? json_decode() sur un tableau JSON vous donnera un tableau PHP que vous pouvez utiliser comme n'importe quel autre tableau en PHP (dans ce cas un tableau associatif).

$output = get_info($data); 
echo $output['allocation']['ratecenter_formatted']; 
+0

1 vous étiez à seulement 2 secondes plus vite :) – jek

+0

Merci pour la réponse, mais je ne comprends pas. Qu'en est-il de file_get_contents? Ce code ne fonctionne pas .. – user468797

+0

@user: Que voulez-vous dire par cela ne fonctionne pas? Le JSON n'est plus correctement analysé, n'obtenez-vous plus le contenu du fichier? – BoltClock

0

Vous aurait encore besoin de décoder l'intégralité de la chaîne JSON pour obtenir des valeurs uniques de lui, il n'y a aucun moyen de ne décoder que certaines valeurs.

Vous pouvez simplement retourner les valeurs que vous voulez dans la fonction php:

function get_info($data) 
{ 
    $json = file_get_contents("http://site.com/".$data.".json"); 
    $output = json_decode($json, true); 
    return array(
     'ratecenter_formatted' => $output['allocation']['ratecenter_formatted'] 
    ); 
} 
+0

Merci pour cette information – user468797

Questions connexes