今天在开发时候要用微信在其它二维码上获取一些信息。(为string类型)
在小程序中接收到后需要进行转码成json来获取这些信息。
可是在转码时候一直报错。
那么有没有什么处理办法呢?
首先:js中将字符串转为json类型 以及将json类型转码为字符串类型有如下方法。
var str= {"name":["sex","sex"],"user":["nan","nan"]} //转成json字符串 var str1= JSON.stringify(str) //转成json对象 var str1Json= JSON.parse(str1);
正常转码为上述代码即可完成。
当报错后如何进行呢?
一般来说转码报错有两种可以进行去讨论。
第一:此str的格式有误。
就比如
var Str = '{name:"张无忌"}'
上述代码肯定会出错,原因是name不是字符串。
第二点:parse转码时候不认识字符串里的一些字符。
这一点的解决方法很好解决。
就用url来说。
我们可以使用
encodeURIComponent() 进行转码。 decodeURIComponent() 进行解码即可 // 在小程序中则可以这样处理。 将stringify()之后的值encodeURIComponent 转码。 然后在获取到后直接用 decodeURIComponent()解码。解码完成后再进行 json.parse() 转码。