[已解决] 如何读取 Guzzle 的 Response 响应结果中的 JSON 数据?

问答 JobsLong ⋅ 于 2017-01-03 12:01:36 ⋅ 最后回复由 Ryan 2017-01-05 10:06:07 ⋅ 160 阅读

使用 [Guzzle](https://github.com/guzzle/guzzle) 时出现的一个问题:

$client = new \GuzzleHttp\Client();

# 获取一个外部 API 接口:
$response = $client->get('http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=39.87186,116.479723&output=json&pois=1&ak=Your_AK');

# echo 结果
echo $response->getBody();

输出结果:

renderReverse&&renderReverse({"status":0,"result":{"location":{"lng":116.47972299999994,"lat":39.87186008036971},"formatted_address":"北京市朝阳区西燕东街","business":"十八里店,南磨房,潘家园"c869","zip":""}}})

目前有个疑问,因为现在 Respone 好像使用了 PSR-7 stream objects,不太理解我现在要使用 json 数据的话,如要如何去读取?


直接

json_decode($response->getBody());

个人加了调用 callback,忘记处理了,所以一直无法解析 json 数据

JobsLong | 优帆远扬

点赞
成为第一个点赞的人吧 :bowtie:
回复数量: 1
  • Ryan 一个离不开Manual,Google和IDE的菜鸟码农!
    2017-01-05 10:06:07

    json_decode($response->getBody()->getContents(), true)

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter