欢迎光临,了解微信小程序开发,就上易用通!

跳坑《五十九》安卓下不解析json,request的response中出现红点

发布:2018-01-25 10:31浏览: 来源:网络 作者:tianshu

这个问题,其实我们论坛的问答里,出现过一次,有个人被坑的外焦里嫩,但是就是找不到原因,最终终于找到了;

问题描述:
安卓下执行request接口,服务端返回的json ,无法解析, typeof  为 string 
ios下正常解析;
客户端
[AppleScript] 纯文本查看 复制代码
?
1
2
var responseData = res.data;
console.log(typeof(responseData));


服务端 

[AppleScript] 纯文本查看 复制代码
?
1
2
3
// 返回JSON数据格式到客户端 包含状态信息
header('Content-Type:application/json; charset=utf-8');
exit(json_encode($data));
 
参考原因:android 下调用request 的时候,自动加上了 bom头,去掉就好了
 
 
参考问题:
问题:wx.request返回的json是字符串,怎么破?
为什么有的返回json正常转为对象,但是这个就是不行,怎么办?
跳坑《五十九》安卓下不解析json,request的response中出现红点(图1) 
答:
看看请求 的 Response 里返回的数据是不是有小红点?
跳坑《五十九》安卓下不解析json,request的response中出现红点(图2)
如果有小红点 说明是 返回数据格式有问题。

官方的加密数据解密算法PHP - SDK里的三个文件有带BOM头,要去除

跳坑《五十九》安卓下不解析json,request的response中出现红点(图3)

跳坑《五十九》安卓下不解析json,request的response中出现红点(图4)
 
 
参考问题:
JSON.parse函数为报错的?
这是在微信IDE上调试的
跳坑《五十九》安卓下不解析json,request的response中出现红点(图5) 
b是通过 wx.request 取回的,这是为什么?该怎么处理?

答:
脚本请求值带了bom头,去除即可

 

案例N:
跳坑《五十九》安卓下不解析json,request的response中出现红点(图6)
https://a.momo3w.cn/ip/getJson
这是小程序要访问的位置
从内容上看,应该是没问题的 啊
https://a.momo3w.cn/ip/json2
这个内容 看起来也是一个样,结果到手机上测试,只接收到了文本,没有转化成对象
按理说,json本来就是字符串,小程序收到后,会自动转为对象,不知道啥原因
你这个情况比较普遍,一般是带了bom头或者json有特殊字符引起的
看来得想办法把网页的 bom头去掉才行
 
跳坑《五十九》安卓下不解析json,request的response中出现红点(图7)





免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。