Json to Array提取PHP值

时间:2015-11-26 01:09:56

标签: php json

我有一个Json文件,我需要提取" tempm"我尝试使用不同的形式,但不能只获得那个价值。 enter image description here 1] 1

$history1 = ("http://link_to_my_api");
echo $history1;
$json_string = file_get_contents($history1);
$parsed_json = json_decode($json_string);
$location = $parsed_json->{'history'}->{'observations'};

var_dump( $location[0]);

2 个答案:

答案 0 :(得分:0)

通过添加true作为json_encode的第二个参数,将json输出转换为数组而不是对象,使一切更容易导航。

答案 1 :(得分:0)

未经测试,但我想这应该有效:

function ext($obj,$name){
    $ret=array();
    $rem=array();
    $f=function() use(&$rem,&$ret,$name){
        $v=reset($rem);
        assert(NULL!==($key1=key($rem)));
        unset($rem[$key1]);
        foreach($v as $key2=>$value){
            if($key2==$name){$ret[]=$value;}
            if(is_array($value) || is_object($value))
            {
                $rem[]=$value;
            }
        }
    };
    $rem[]=$obj;
    while(!empty($rem))
    {
        $f();
    }       
    return $ret;
}

$tempm_arr=ext($parsed_json,'tempm');
$tempm=$tempm_arr[0];

警告:这可能导致带有递归引用的对象/数组的无限循环。