所以目前我正在这样做..
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”等选定值。我只想从上面的转储中得到“夏洛特”。我该怎么做?
提前谢谢!
答案 0 :(得分:2)
json_decode()
将为您提供一个PHP数组,您可以像使用PHP中的任何其他数组一样使用它(在本例中为关联数组)。
$output = get_info($data);
echo $output['allocation']['ratecenter_formatted'];
答案 1 :(得分:0)
你仍然需要解码整个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']
);
}