帮助解码JSON

时间:2011-07-04 18:21:26

标签: php arrays json decode

我正试图从这片json中获取“screenshotUrls”字符串:

$request_url = 'http://itunes.apple.com/search?term=ibooks&country=us&entity=software&limit=1';
$json = file_get_contents($request_url);
$decode = json_decode($json, true);

echo $decode['results'][0]['screenshotUrls'];

但我只得到文字“数组”

我做错了什么?

4 个答案:

答案 0 :(得分:3)

尝试

var_dump($decode['results'][0]['screenshotUrls']);

如果你得到PHP的'Array'输出,这意味着你试图回显一个实际的数组(或字符串'Array'...)。这意味着您需要获得特定的索引值。

答案 1 :(得分:0)

var_dump($decode['results']['0']['screenshotUrls'])。您会发现['screenshotUrls']实际上是一个包含一个或多个URL的数组(因此其名称中包含多个“网址”)。

答案 2 :(得分:0)

到目前为止,您的代码没有任何问题,但$decode['results'][0]['screenshotUrls']是屏幕截图所有网址的数组。要单独检查每一个,你需要做:

forearch ($decode['results'][0]['screenshotUrls'] as $url) {
    // Do stuff here
}

答案 3 :(得分:0)

由于$decode['results']['0']['screenshotUrls']是一个数组,如果你只想要一个字符串(比如用逗号分隔),你可以使用

echo implode(",", $decode['results']['0']['screenshotUrls']);

这将迭代数组,并返回所有URL的逗号分隔字符串。