如何在使用json_decode解析时获取特定元素

时间:2014-03-27 10:24:04

标签: php json

我正在从flickr解析图片json

$jsrc = "https://api.flickr.com/services/rest/?text=Web&format=json&nojsoncallback=1&extras=url_l%2Curl_o%2Curl_z%2Curl_m&page=1&sort=relevance&api_key=cae293081d7db65b538c8bd4e90c988a&method=flickr.photos.search&per_page=10";
$json = file_get_contents($jsrc);
$jset = json_decode($json, true);

一旦我解析它,我只能看到原始数据 比如print_r($jset);

我需要做类似

的事情
foreach($jset as $d) 
{ echo $d['owner'] ;}

我需要在这个解析过的Json Array列表中选择一个特定的标签,我该怎么做?

2 个答案:

答案 0 :(得分:4)

您可以像这样运行array

$jsrc = "https://api.flickr.com/services/rest/?text=Web&format=json&nojsoncallback=1&extras=url_l%2Curl_o%2Curl_z%2Curl_m&page=1&sort=relevance&api_key=cae293081d7db65b538c8bd4e90c988a&method=flickr.photos.search&per_page=10";
$json = file_get_contents($jsrc);
$jset = json_decode($json, true);

echo "<pre>";

foreach ($jset['photos']['photo'] as $photo) {
    //print_r($photo);
    echo $photo['owner'];
    echo "<hr />";
}

答案 1 :(得分:0)

你可以使用这个循环:

foreach ($jset['photos']['photo'] as $photo) {
  echo '<p><img src="' . $photo['url_o'] . '" /><br />Owner: ' . $photo['owner'] . '</p>';
}

以上将显示所有者的图像。你可以根据需要调整它。

要访问各个项目,例如所有者和网址,您可以更改$photo['']内的索引。