js将对象转成字符串-支持微信

时间:2023-12-18 21:57:32

最近写一个微信项目时用到了 把对象转成字符串,因为我需要把它存在cookie中,碰到了一些问题,在这里分享一下。

要转换的就是这货~
var FBinf = {
"workPlacesCode": workPlacesCode,
"parentCode": parentCode,
"firstParentCode": firstParentCode,
"categoryCode": categoryCode,
     "imgurl":imgurl
}

我们常用的对象转成字符串是:

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符

或者

var last=obj.toJSONString(); //将JSON对象转化为JSON字符
但是很遗憾,我用这行代码会报错

而在使用第一种方法的时候出了一个问题就是在android的微信上 不生效!不生效!不生效!

很奇怪的 我用微信官方的开发者工具测试并没有问题,但是在我的手机上就不生效,代码会被打断应该是报错了,就是js无法往下进行。

但这个问题在IOS上没有出现!

于是只好换了一个手动方式:

var jStr = '{';
for(var item in FBinf){
if(item == 'imgurl') {
jStr += '"'+item+'":"'+FBinf[item]+'"'
}else{
jStr += '"'+item+'":"'+FBinf[item]+'",';
}
}
jStr += '}';
//这里做了个判断,如果是最后一个参数,就去掉 “,”。因为这个对象没有长度,所以没法用length判断最后一项。

问题很圆满的解决了,微信也顺利通过,缺点就是使用起来不太方便,如果以后我的对象参数有所改变,这里可能会需要相应的调整(最后一项)。

希望能帮到碰到类似问题的同学!欢迎大家积极讨论,有更好的方法更好~