2013-04-27 29 views
0

以下是json數據,我想要得到'平均值'。我能怎麼做?php 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; 
+1

'的print_r($項目)'。這將是顯而易見的。 – 2013-04-27 09:41:51

回答

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; 

?>