2011-03-09 60 views
0

我目前已经将数据库中的以下JSON输出创建为在我的网站上运行的迷你API。我试图利用这个API,但我不确定如何。这里是产生的示例查询的JSON:我将如何解码JSON编码的数组值并使用它?

{ "uploads":[ { "upload":{ "id":"74", "uploaded":"2011-03-08 11:43:36", "filename":"padthai.jpg", "owner":"2", "what":"Pad+Thai", "where":"Hot+Basil+Cafe", "details":"Thai+food!", "rating":"3", "lat":"37.938351", "lng":"-122.024483" } }, { "upload":{ "id":"73", "uploaded":"2011-03-08 11:39:36", "filename":"chirashi.jpg", "owner":"2", "what":"Chirashi+Bowl", "where":"Goshi", "details":"Freshest+fish+in+town!", "rating":"5", "lat":"35.267742", "lng":"-120.670570" } }, { "upload":{ "id":"72", "uploaded":"2011-03-08 11:38:04", "filename":"innout.jpg", "owner":"2", "what":"Double+Double,+Hamburger,+and+Fries", "where":"In-N-Out", "details":"I+love+their+fries!", "rating":"5", "lat":"35.126698", "lng":"-120.597206" } }, { "upload":{ "id":"71", "uploaded":"2011-03-08 11:20:45", "filename":"artspecialroll.jpg", "owner":"2", "what":"Art+Special+Roll", "where":"Happy+Roll", "details":"nom+nom+nom", "rating":"5", "lat":"37.976585", "lng":"-122.033646" } }, { "upload":{ "id":"69", "uploaded":"2011-03-08 11:18:29", "filename":"l.jpg", "owner":"2", "what":"Bun+Bo+Hue", "where":"Saigon+Bistro", "details":"Perfect~", "rating":"5", "lat":"37.973385", "lng":"-122.041183" } }, { "upload":{ "id":"68", "uploaded":"2011-03-08 11:15:33", "filename":"IMG_2811.JPG", "owner":"2", "what":"Asiago+Roast+Beef", "where":"Panera+Bread", "details":"Yummy", "rating":"5", "lat":"35.262539", "lng":"-120.678101" } }, { "upload":{ "id":"67", "uploaded":"2011-03-08 10:56:33", "filename":"IMG_2764.JPG", "owner":"2", "what":"Ninja+Roll+and+Salmon+Hand+Roll", "where":"Shin's", "details":"Ninja+roll+is+hella+good!", "rating":"4", "lat":"35.281921", "lng":"-120.660889" } } ] }

我怎么会专门解读这些信息,并能够在一个循环来显示所有的“上传”访问,我想每次上传的内容使用它?

特定的代码示例将会有所帮助/需要!有用的JSON资源将不胜感激!

回答

4

如果您收到JSON作为一个字符串,你可以把它变成一个数组json_decode($that_string, true);

你可以访问这些数据是这样的:

$array = json_decode($json, true); 
foreach($array['uploads'] as $foo=>$upload) 
{ 
    foreach($upload as $key=>$value) 
    { 
    echo $value['what'] . " has a rating of " . $value['rating'] . "\n"; 
    } 
}