2014-03-27 63 views
1

解析我从Flickr如何获得一个特定的元素,同时与json_decode

$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); 

解析图像JSON一旦我解析它,我只能看到一个原始数据 像print_r($jset);

我需要做的像

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

,我需要选择在此解析的JSON数组列表中的特定标签我该怎么办呢?

+0

你可以发布'json_decode'代码到你的问题。 –

回答

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 />"; 
} 
+0

好吧,这是很好理解你得到什么,但我需要只有'所有者'内的照片,例如,我该怎么做? – zyrag

+2

@zyrag我编辑了这个答案,请看它。并接受答案。 –

0

您可以使用此循环:

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

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

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