【问题标题】:Parsing JSON response using PHP for Yelp API使用 PHP for Yelp API 解析 JSON 响应
【发布时间】:2011-07-12 10:21:26
【问题描述】:

我似乎无法解析 Yelp API 发送的信息。这是输出:http://www.coroomer.com/apartments/yelp.php

这是我遇到问题的代码段:

// Send Yelp API Call
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $signed_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
$response = curl_exec($ch);
curl_close($ch);

// Handle Yelp response data
$obj = json_decode($response,true);

// Print it for debugging
//print_r($obj);

echo var_dump($obj);

if (isset($bus)) {
foreach($obj[businesses] as $bus){
    echo $bus[name];
    echo $bus[reviews];
    }
}

问题是我无法获得正确“格式化”的输出。格式化为它看起来像 Yelp 上的评论线程。任何帮助表示赞赏。

【问题讨论】:

  • 您提供的链接中的输出不是 JSON。看起来像 PHP 的 var_dump() 的输出
  • 你有什么问题!?不清楚你想达到什么。
  • 向我们显示“在 Yelp 上查看帖子”的链接,以便我们知道您要做什么
  • 对不起,伙计们,我还是新手。那是 var_dump 的输出,我正在尝试解析它,使其看起来像这样:allmenus.com/ca/san-francisco/276369-boogaloos/reviews 具体来说,我遇到的问题是 foreach 循环没有触发。它应该从 yelp 检索格式正确的响应。
  • 一直在尝试回显评论,但输出为“数组”。这是我到目前为止得到的:coroomer.com/apartments/yelp.php。任何人如何输出评论的文本

标签: php json api parsing yelp


【解决方案1】:

不清楚你到底在问什么。不过……

1。首先修复您的警告和通知。不要试图访问索引周围没有单引号或双引号的数组,因为 PHP 会尝试将它们解析为 CONSTANTS。这将导致:

一个。运行时间较慢

b.头痛,如果该索引存在常量

更改此代码:

foreach($obj[businesses] as $bus){
    echo $bus[name];
    echo $bus[reviews];

foreach($obj['businesses'] as $bus){
    echo $bus['name'];
    echo $bus['reviews'];

2。转储中没有任何索引为 businesses 的数组,您要在这里迭代什么?

【讨论】:

  • 不确定我是否理解这一点,请不要这样做:yelp.com/developers/documentation/search_api yelp 将所有信息放在“企业”下。在 foreach 循环中,我试图从我链接到的那个业务中回显不同的信息,但上面没有显示。 foreach 循环没有触发,我完全不知道为什么。我将删除 isset,以便向您展示我收到的错误消息
  • @ejunprung:您应该向http://api.yelp.com/business_review_search 发出business_review_search 请求,以便获得所有业务,以便您可以迭代它们。您目前发出的请求类型似乎是this one
  • @shef 非常感谢您的帮助。我想我理解这个问题。我想使用 yelp api v2。这是我想要得到的输出:allmenus.com/ca/san-francisco/276369-boogaloos/reviews。我向api.yelp.com/v2/business{business id here} 发送了一个请求,我认为问题在于:foreach($obj['businesses'] as $bus){ echo $bus['name'];回声 $bus['reviews']; } "businesses" 不是一个有效的索引。从 yelp 的 api 文档中,你知道我应该放什么吗?我完全迷失了,一直在到处寻找解决方案。
  • 我想通了,谢谢!我很愚蠢,我不应该使用 foreach,因为我只为一项业务请求信息。
猜你喜欢
  • 1970-01-01
  • 2020-10-22
  • 1970-01-01
  • 1970-01-01
  • 2019-09-25
  • 2016-12-14
  • 1970-01-01
  • 2021-12-25
  • 1970-01-01
相关资源
最近更新 更多