2013-05-07 101 views
0

我正在尝试循环并从此响应中获取详细信息。无论结果如何,“交易”部分显然都会重复。我用这个解码json响应yippits api PHP json解码

$jsonurl = "http://api.yipit.com/v1/deals/?key=&tag=spa"; 
$json = file_get_contents($jsonurl,0,null,null); 
$json_output = json_decode($json); 

但不完全确定如何通过此循环与foreach?任何帮助入门将非常感激!

"meta": { 
    "code": 200, 
    "next": "http://api.yipit.com/v1/deals/?tag=spa&limit=20&key=&offset=20", 
    "previous": null 
}, 
"response": { 
    "deals": [ 
     { 
      "active": 1, 
      "business": { 
       "id": 253658, 
       "locations": [ 
        { 
         "address": "9634 N May Ave", 
         "id": 923137, 
         "lat": 35.5695651, 
         "locality": "Oklahoma City", 
         "lon": -97.5671643, 
         "phone": "405-748-4070", 
         "smart_locality": "Oklahoma City", 
         "state": "OK", 
         "zip_code": "73120" 
        } 
       ], 
       "name": "Vibrant Life Center", 
       "url": "http://vibrantlifeokc.com/" 
      }, 
      "date_added": "2013-05-07 10:43:10", 
      "description": "Let the friendly, experienced technicians at this center help you rejuvenate your body with state-of-the-art LipoLaser treatments: \u2022 $77 ($250 value) for one LipoLaser treatment \u2022 $147 ($500 value) for two LipoLaser treatments \u2022 $249 ($1,000 value) for four LipoLaser treatments Why We Love It At this convenient location in The Village, experts use the Stella LipoLaser for this noninvasive procedure for clients 18 and older. You could feel more confident after just one quick 30-minute treatment, so call to schedule an appointment at this office, which is open Tuesday through Saturday. Vibrant Life Center's Website | Facebook", 
      "discount": { 
       "formatted": "69%", 
       "raw": 69 
      }, 
      "division": { 
       "active": 1, 
       "country": "United States", 
       "lat": 35.4673709, 
       "lon": -97.516583, 
       "name": "Oklahoma City", 
       "slug": "oklahoma-city", 
       "time_zone_diff": -6, 
       "url": "http://yipit.com/oklahoma-city/" 
      }, 
      "end_date": "2013-05-14 09:59:59", 
      "id": 19852358, 
      "images": { 
       "image_big": "http://a.yipitcdn.com/thumbor/zf6rjiAKcs8k9F5RE_rHARXxTfE=/fit-in/372x372/a.yipitcdn.com/deal/feel-fitter-faster-with-lipolaser-treatments-1367922391.jpg", 
       "image_small": "http://a.yipitcdn.com/thumbor/b4dO4-uTRFySlYgBVQAxrLYwk4Q=/fit-in/212x212/a.yipitcdn.com/deal/feel-fitter-faster-with-lipolaser-treatments-1367922391.jpg", 
       "image_smart": "http://a.yipitcdn.com/thumbor/9p60gjXqwYoPEH637m5IA9_s8c4=/408x357/smart/a.yipitcdn.com/deal/feel-fitter-faster-with-lipolaser-treatments-1367922391.jpg" 
      }, 
      "mobile_url": "http://m.yipit.com/business/vibrant-life-center/?bp_ad=1", 
      "price": { 
       "formatted": "$77", 
       "raw": 77.00 
      }, 
      "source": { 
       "name": "LivingSocial", 
       "paid": 0, 
       "slug": "living-social", 
       "url": "" 
      }, 
      "tags": [ 
       { 
        "name": "Spa", 
        "slug": "spa", 
        "url": "" 
       } 
      ], 
      "title": "Feel Fitter Faster with LipoLaser Treatments", 
      "url": "http://yipit.com/aff/eval/deal/?deal=NHFZJTjT&key=fnY4CzVj", 
      "value": { 
       "formatted": "$250", 
       "raw": 250.00 
      }, 
      "yipit_title": "One, Two, or Four LipoLaser Treatments", 
      "yipit_url": "http://yipit.com/business/vibrant-life-center/" 
     }, 

回答

2

$json_output->response->deals - 您收到的所有交易的数组。所以,你需要遍历它来获取它的信息。

例如这个代码将回显所有交易descritions:

foreach($json_output->response->deals as $deal) 
{ 
    echo $deal->description.'<br />'; 
} 

[] - 指阵列。它可以使用循环迭代。 {} - 手段对象(StdClass实例)。其属性可通过->访问。

例如处理大的图像可以retrived就像这样(在以前的foreach环的情况下):

echo $deal->images->image_big;

+0

这完美地工作,只是一张纸条给任何人想要做你的答案说了同样的事情$ json_output->效应初探这应该是应对的。 (错字)一旦我看到它的工作错字。谢谢!! – 2013-05-07 15:40:52

+0

糟糕!错字是固定的:) – 2013-05-07 15:51:30

0

json_decode()实际上应该对象归还给您。为了访问这些属性,您可以使用echo $json_output->meta->code来获取200或$json_output->deals[0]->business->id以获取第一笔交易的业务ID。请注意0​​和[]之间的差异

我总是建议使用var_dump($json_output),这样您就可以在解码后清楚地看到对象的结构。