加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 当标题存在时,从GET响应中解析JSON

发布时间:2020-12-13 17:40:55 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试 json_decode从我的服务器端API的GET请求收到的响应,但我得到一个空字符串.我是否正确地假设因为响应包含JSON解码器无法处理的所有头信息?这是我从服务器获得的完整响应: HTTP/1.1 200 OKServer: nginx/1.0.5Date: Sun,18 Mar 2012 19:44:43 GMT
我正在尝试 json_decode从我的服务器端API的GET请求收到的响应,但我得到一个空字符串.我是否正确地假设因为响应包含JSON解码器无法处理的所有头信息?这是我从服务器获得的完整响应:

HTTP/1.1 200 OK
Server: nginx/1.0.5
Date: Sun,18 Mar 2012 19:44:43 GMT
Content-Type: application/json
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: Servlet/3.0; JBossAS-6
Content-Length: 97

{"pid":"162000798ab8481eaeb2b867e10f8849","uuid":"973b8722c75a4cacb9fd2316517587bb"}

在将响应发送到客户端之前,是否需要删除servlet中的标头?

解决方法

是的,json_decode必须只传递JSON数据才能解码.由于您使用的是curl,因此您可以简单地将请求配置为不向您返回标题

curl_setopt($ch,CURLOPT_HEADER,false);

更新:如果您需要用于早期处理的标题,则上述内容不会删除它.但是,您可以通过利用响应的标题和正文之间存在双换行“分隔符”这一事实,随时轻松删除它们.使用像这样的爆炸将隔离身体:

list(,$body) = explode("nn",$response,2);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读