json解析问题
发布于 6 年前 作者 ligao 15164 次浏览 来自 问答

问题一:如图所示,第一行为  uploadFile 返回的数据,data没有自动转为 json 。后面两个是 request 返回的数据会自动解析为 json 格式,是什么原因?

问题二:我尝试用

  1. function strToJson(str){  

  2.      var json = eval('(' + str + ')');  

  3.      return json;  

  4. }  

  1. function strToJson(str){  

  2.     var json = (new Function("return " + str))();  

  3.     return json;  

  4. }  

解析都提示方法不支持,而用 JSON.parse(str),又要求 json 数据中的字段全部需要用引号包起来,而我们服务器返回的数据不全是用引号包裹的。

我又尝试用截取字符串的形式去除第一行data的两边引号,可又是提示不支持 subString 方法。我也是崩溃了。


请问我要如何把第一行的数据解析成 json ?

5 回复

正确应该是

“data”:“{“open_id”: …}“

楼主的所谓最终解决方案并没有解决问题一。

事实上如果你后台拼接的字符串满足JSON格式的话,小程序拿到的都会是对象而不用解析的,所以一定是拼接的字符串有哪里不对。

这个我做公司的业务已经尝试了无数次了。再复杂的JSON只要格式对,小程序拿到的都会是对象。

谢谢,这个问题我跟后台说过了,后台检查了一下,说是和其他接口一样的,等他们忙完了我再让他们仔细的查查吧

楼上给的解释不对,不知道咋艾特评论者

只说问题一。

返回的数据里面的data元素值少了引号。

也就是“data”:{“open_id”: …}这里,对象没有用引号包起来。

回到顶部