我的
PHP代码:
$obj = json_decode($data); print $obj->{'name'};
虽然它适用于非数组,但我无法为我的生活找出如何打印“评论”数组中的所有值.
我想要做的是循环执行这个响应,可能是使用forreach(),导致一个列表,其中包含响应中每个评论的评级和摘录.
任何指导/方向非常感谢..
下面是我正在使用的JSON. (这是Yelp API的回应).
{ "is_claimed": true,"rating": 4.5,"mobile_url": "http://m.yelp.com/biz/economy-paint-and-collision-riverside","rating_img_url": "http://s3-media2.ak.yelpcdn.com/assets/2/www/img/99493c12711e/ico/stars/v1/stars_4_half.png","review_count": 19,"name": "Economy Paint & Collision","snippet_image_url": "http://s3-media3.ak.yelpcdn.com/photo/ZOzoahw0Go_DEPLvxCaP_Q/ms.jpg","rating_img_url_small": "http://s3-media2.ak.yelpcdn.com/assets/2/www/img/a5221e66bc70/ico/stars/v1/stars_small_4_half.png","url": "http://www.yelp.com/biz/economy-paint-and-collision-riverside","reviews": [ { "rating": 3,"excerpt": "The Good:\nDennis quoted me a price over the phone about 1 month before I took my wifes 2010 Escalade in for repairs and when I took it in he gave me the...","time_created": 1357010247,"rating_image_url": "http://s3-media3.ak.yelpcdn.com/assets/2/www/img/34bc8086841c/ico/stars/v1/stars_3.png","rating_image_small_url": "http://s3-media3.ak.yelpcdn.com/assets/2/www/img/902abeed0983/ico/stars/v1/stars_small_3.png","user": { "image_url": "http://s3-media3.ak.yelpcdn.com/photo/mIsU7ugYd88lLA-XL2q1Cg/ms.jpg","id": "V9MDZvEBv-tBTF4YIoc7mg","name": "Sydney H." },"rating_image_large_url": "http://s3-media1.ak.yelpcdn.com/assets/2/www/img/e8b5b79d37ed/ico/stars/v1/stars_large_3.png","id": "HfOhzLIlJoUKSKU8euclqA" },{ "rating": 5,"excerpt": "Dennis and his team did an amazing job on the roof of my fiancee's 2002 Acura RSX after years of living by the beach in San Francisco had mostly rusted...","time_created": 1354741952,"rating_image_url": "http://s3-media1.ak.yelpcdn.com/assets/2/www/img/f1def11e4e79/ico/stars/v1/stars_5.png","rating_image_small_url": "http://s3-media1.ak.yelpcdn.com/assets/2/www/img/c7623205d5cd/ico/stars/v1/stars_small_5.png","user": { "image_url": "http://s3-media3.ak.yelpcdn.com/photo/ZOzoahw0Go_DEPLvxCaP_Q/ms.jpg","id": "kOqCnCjYn0EbAhtH1tfjcw","name": "Jason H." },"rating_image_large_url": "http://s3-media3.ak.yelpcdn.com/assets/2/www/img/22affc4e6c38/ico/stars/v1/stars_large_5.png","id": "YzZg1LX6zeRaurq9tYUcMw" },"excerpt": "It's been a year since I had my car painted here,and I gotta say: It still looks just as good as it did when I first picked it up. You would never know...","time_created": 1361043626,"user": { "image_url": "http://s3-media1.ak.yelpcdn.com/photo/58coTtu1x5riHSgFEAQsfw/ms.jpg","id": "kVrW3138d5VL-AZ97wFF4A","name": "Jeanne M." },"id": "r5WtlQVMXiIMBR6S3N7RZw" } ],"phone": "9517870227","snippet_text": "Dennis and his team did an amazing job on the roof of my fiancee's 2002 Acura RSX after years of living by the beach in San Francisco had mostly rusted...","image_url": "http://s3-media3.ak.yelpcdn.com/bphoto/kodoEcmgHRG61pPaWRndbw/ms.jpg","categories": [ [ "Body Shops","bodyshops" ],[ "Auto Repair","autorepair" ] ],"display_phone": "+1-951-787-0227","rating_img_url_large": "http://s3-media4.ak.yelpcdn.com/assets/2/www/img/9f83790ff7f6/ico/stars/v1/stars_large_4_half.png","id": "economy-paint-and-collision-riverside","is_closed": false,"location": { "city": "Riverside","display_address": [ "2548 Rubidoux Blvd","Riverside,CA 92509" ],"geo_accuracy": 8,"postal_code": "92509","country_code": "US","address": [ "2548 Rubidoux Blvd" ],"coordinate": { "latitude": 34.0132437,"longitude": -117.3923804 },"state_code": "CA" } }
您可能会遇到麻烦,因为评论是一个数组,您正在尝试以JSON对象身份访问它.
原文链接:https://www.f2er.com/php/139409.html$obj = json_decode($data,TRUE); for($i=0; $i<count($obj['reviews']); $i++) { echo "Rating is " . $obj['reviews'][$i]["rating"] . " and the excerpt is " . $obj['reviews'][$i]["excerpt"] . "<BR>"; }