微信小程序将字符串转码为json的时候一直报错,在微信小程序json对象和字符串的转换
精选
原创
©著作权归作者所有:来自51CTO博客作者是赵小左啊的原创作品,请联系作者获取转载授权,否则将追究法律责任
今天在开发时候要用微信在其它二维码上获取一些信息。(为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的格式有误。
就比如
上述代码肯定会出错,原因是name不是字符串。
第二点:parse转码时候不认识字符串里的一些字符。
这一点的解决方法很好解决。
就用url来说。
我们可以使用
encodeURIComponent() 进行转码。
decodeURIComponent() 进行解码即可
// 在小程序中则可以这样处理。
将stringify()之后的值encodeURIComponent 转码。
然后在获取到后直接用 decodeURIComponent()解码。解码完成后再进行 json.parse()