问题描述:
安卓下执行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正常转为对象,但是这个就是不行,怎么办?
答:
看看请求 的 Response 里返回的数据是不是有小红点?如果有小红点 说明是 返回数据格式有问题。
官方的加密数据解密算法PHP - SDK里的三个文件有带BOM头,要去除
参考问题:JSON.parse函数为报错的?这是在微信IDE上调试的
b是通过 wx.request 取回的,这是为什么?该怎么处理?
答:脚本请求值带了bom头,去除即可
案例N:https://a.momo3w.cn/ip/getJson
这是小程序要访问的位置
从内容上看,应该是没问题的 啊
https://a.momo3w.cn/ip/json2
这个内容 看起来也是一个样,结果到手机上测试,只接收到了文本,没有转化成对象按理说,json本来就是字符串,小程序收到后,会自动转为对象,不知道啥原因看来得想办法把网页的 bom头去掉才行你这个情况比较普遍,一般是带了bom头或者json有特殊字符引起的