Php 如何显示特定的json值而不是打印或转储函数
使用下面的方法,我可以以两种格式将所有信息显示为一个数组,但是我希望为变量赋值,并仅使用名称,而不是完整的屏幕转储 $url='1http://myurl'; $json=文件获取内容($url) $dump=(var_dump(json_decode($json,true)) $json_output=json_decode($json);打印(json输出) 抱歉,这可能很简单。您可以使用:Php 如何显示特定的json值而不是打印或转储函数,php,json,Php,Json,使用下面的方法,我可以以两种格式将所有信息显示为一个数组,但是我希望为变量赋值,并仅使用名称,而不是完整的屏幕转储 $url='1http://myurl'; $json=文件获取内容($url) $dump=(var_dump(json_decode($json,true)) $json_output=json_decode($json);打印(json输出) 抱歉,这可能很简单。您可以使用: $object = json_decode($json); 这将创建一个对象,然后您可以访问该对象
$object = json_decode($json);
这将创建一个对象,然后您可以访问该对象的属性,如
echo $object->whatever;
或者您可以使用json_解码,如下所示:
$array = json_decode($json, TRUE);
alert($json_output->varName);
alert($json_output['varName']);
这将创建一个数组,您可以访问like so的各个键
echo $array['whatever'];
您可以使用面向对象的dot.notation来访问变量名。试着这样做:
$array = json_decode($json, TRUE);
alert($json_output->varName);
alert($json_output['varName']);
使用PHP的json_decode()函数应该满足这一点。在第一次调用中,将TRUE作为第二个参数传递,因此函数返回一个关联数组。PHP手册页面说明了这种差异:
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
对var_dump的这两个调用将输出:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
stackoverflow.com is useful
在这两种情况下,您都可以访问各个元素:
$json = '{"url":"stackoverflow.com","rating":"useful"}';
$jsonAsObject = json_decode($json);
$jsonAsArray = json_decode($json, TRUE);
echo $jsonAsObject->url . " is " . $jsonAsArray['rating'];
这将输出:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
stackoverflow.com is useful
为了澄清,您想访问JSON元素的各个值吗?