繁体   English   中英

json_decode()获取值

[英]json_decode() getting values

我正在尝试从Statcounter API获取json数据。

我有以下几点:

$query = makeQuery("2292634", "demo_user", "statcounter", "visitor", "");
echo $query . "<br>";
$response = file_get_contents($query, true);
$data = json_decode($response, true);
echo $data['sc_data']['log_visits'];

我知道查询是正确的,并且我知道$response充满了未格式化的json。 问题在于访问数组并拉出值。

这是它给我的未格式化json的前几行。

该链接仅会持续15分钟,如果您想查看原始的json,我可以生成一个新链接。

http://api.statcounter.com/stats/?vn=3&s=visitor&pi=2292634&t=1398791335&u=demo_user&sha1=c6cdfd6c84227801c6ca758c17252712e3f76514

{"@attributes":{"status":"ok"},"sc_data":[{"log_visits":"1","entries_in_visit":"2","entry_t":"2014-04-29 17:57:33","entry_url":"http:\/\/www.guitar-online.com\/en\/","entry_title":"Learn how to play the guitar: tutorials, guitar 

显然,我没有以正确的方式访问数组...但是我还没有找到使它工作的语法!

谢谢您的帮助。

查看数据, sc_data是一个包含嵌套JSON对象的数组,因此您应该能够对该数组进行迭代以读取所需的数据:

echo $data['sc_data'][0]['log_visits'];

上面的代码将访问所述阵列的所述第一元件sc_data和打印的值log_visits

当您在JSON中有{"field":['a','b','c']}时,您将以field[0] 'a'身份访问'a'

数组的元素可以是任何有效值,即

  • 宾语
  • 数组
  • 真正
  • 空值

在您的情况下,它是对象,您以与访问任何其他数组元素相同的方式访问该对象-通过索引号(JSON不具有类型为"key" => "value"关联数组)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM