Получить информацию от JSON - PullRequest
0 голосов
/ 07 октября 2010

Так что в настоящее время я делаю это ..

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

что нормально и возвращает все так:

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 } }

Как сделать так, чтобы возвращались только выбранные значения, такие как "ratecenter_formatted". Я просто хочу получить "Шарлотту" из вышеупомянутой свалки. Как бы я это сделал?

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 07 октября 2010

Хммм, просто выловить это из массива? json_decode() в массиве JSON даст вам массив PHP, который вы можете использовать так же, как и любой другой массив в PHP (в данном случае ассоциативный).

$output = get_info($data);
echo $output['allocation']['ratecenter_formatted'];
0 голосов
/ 07 октября 2010

Вам все равно нужно декодировать всю строку JSON, чтобы получить из нее отдельные значения, нет способа декодировать только определенные значения.

Вы можете просто вернуть нужные значения в функцию 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']
    );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...