0

以下はjsonデータです。値「平均」を取得したいです。どのようにできるのか?

{

items: [
{

city: "北京",
tel: "85306308-1004",
name: "巴西之家",
mayor_id: 877861620, //当前地主的用户id
venue_info:
{
//地点的评分信息
rating: 7.6, //地点平均分,10分为满分
**average: 116** //地点人均消费(单位:人民币)

},
lon: 116.437031906407,
checkin_users_num: 133, //地点总签到用户数
lat: 39.9131007742324,
checkin_num: 161, //地点总签到数
addr: "朝阳区光华路44号(巴西大使馆对面)",
dist: "200 m", //地点距离传入坐标相对距离
guid: "774E9ED4B79AF2A9904ECDA2F8D70565", //地点的id
description: "地道巴西美食,从芝士夹心面包就征服食客", //推荐潮地的推荐语
img: "http://img.jiepang.com/get/photo/182a6154e2dedbdf111bf29347ad6aa7?size=120" //推荐潮地配图

},
{
},
{
},
],
num_items: 44 //附近共有多少个推荐潮地

}

関数 json_decode を使用して、以下の json データを解析します。値「平均」を取得する方法は?

$jsonObj = json_decode($contentStr);
$items = $jsonObj->items;
4

1 に答える 1

1

無効な JSON なのか、外国の文字なのかは不明ですが、いくつかのものを再フォーマットする必要がありましたが、これは機能するはずです。

<?
          $js = '{ "items" : [{"city": "a",
             "tel": "85306308-1004",
             "name": "b",
             "mayor_id": 877861620,
             "venue_info": {"rating": 7.6,
                          "average": 116
                         },
             "lon": 116.437031906407,
             "checkin_users_num": 133,
             "lat": 39.9131007742324,
             "checkin_num": 161,
             "addr": "b",
             "dist": "200 m",
             "guid": "774E9ED4B79AF2A9904ECDA2F8D70565",
             "description": "c",
             "img": "http://img.jiepang.com/get/photo/182a6154e2dedbdf111bf29347ad6aa7?size=120"
            },
            {},
            {}],
    "num_items": 44}';

    $o = json_decode($js);

    $average = $o->items[0]->venue_info->average;

?>
于 2013-04-27T09:47:47.077 に答える