微信公开课
如何看待微信公开课小程序热门讨论「小程序大坑:encode后的JSON字符串,真机上JSONparse解析失败」
摘要:小程序大坑:encode后的JSON字符串,真机上JSONparse解析失败
展开:今天,遇到微信JSON解析的一个大坑。网上找了好久,没有人记录过相同坑,所以写下来吧。跨页面跳转,想传递一个对象。于是先将对象,用infoStrJSON.stringify(object)转为了字符串。由于对象中包含url属性,JSON.parse方法无法解析包含““、””之类的字符,所以先使用了encodeURIComponent对整个对象的字符串infoStr编码。字符串传递到目的页后,使用newObjectJSON.parse(options.infoStr)转回了对象。关键的地方来了!!!在模拟器上,JSON.parse可以将编码的字符串也顺带解码,也就是说,获得的newObject就是传递前的对象。但是!在真机上,JSON.parse无法识别编码后的字符串,会导致解析失败!!最后,我只能在传递前,先将对象中的url单独encode:object.urlencodeURIComponent(object.url),再通过infoStrJSON.stringify(object),将对象转为字符串。传递到目的页后,再使用newObjectJSON.parse(options.infoStr),还原为对象。最后,使用newObject.urldecodeURIComponent(newObject.url),将对象中的url解码。了解更多
方法1:微信扫描微信公开课小程序码即可订阅热门讨论「小程序大坑:encode后的JSON字符串,真机上JSONparse解析失败」
方法2:微信搜索微信公开课小程序名称进入,即可订阅热门讨论「小程序大坑:encode后的JSON字符串,真机上JSONparse解析失败」
方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热门讨论「小程序大坑:encode后的JSON字符串,真机上JSONparse解析失败」
微信公开课小程序热门讨论「小程序大坑:encode后的JSON字符串,真机上JSONparse解析失败」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。
微信公开课热门讨论「小程序大坑:encode后的JSON字符串,真机上JSONparse解析失败」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。