Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 简化json_解码结果_Php_Json - Fatal编程技术网

Php 简化json_解码结果

Php 简化json_解码结果,php,json,Php,Json,这是一个简单的函数,通过cURL请求数据并获取JSON。我只想在JSON中使用数据,但为什么它是大量stdclass对象。如何简化此代码 <?php function movieRequest() { $url = "http://api.com/content/movies?format=json"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURL

这是一个简单的函数,通过cURL请求数据并获取JSON。我只想在JSON中使用数据,但为什么它是大量stdclass对象。如何简化此代码

<?php
function movieRequest()
{
    $url = "http://api.com/content/movies?format=json";
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    $headers[] = "Content-type: application/json"; 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    $response = curl_exec($ch);
    curl_close($ch);
    return $response;
}

$data = movieRequest();
$data = (array) json_decode($data);
print_r(get_object_vars(get_object_vars($data['categories'])['Access-Channel'])['category']); //Need this data but it still has stdClass Object. 
?>


“获取对象变量”太多了。有更好的方法获取数据吗?

您可以使用的第二个参数,并使用关联数组作为结果:

$data = movieRequest();
$data = json_decode($data, true );
print_r( $data['categories']['Access-Channel']['category'] ); 
从文件中:

协会

如果为TRUE,则返回的对象将转换为关联数组


RTFM用于
json\u解码
,请?对不起。现在进去。谢谢。我最好去看更多的文档。我可以在4分钟内接受ans。