弄懂 JOSN.parse() 和 JSON.stringify() 的区别
并解决 [object, object] 问题
-
JOSN.parse():用于将
JSON 字符串
转换为对象
-
JSON.stringify():用于将
对象/数组
转换为JSON 字符串
在接收数据时,打印出现 [object, object] 情况,是因为在我们原本传递的是一个对象,在传递过程中对象被转换成了字符串,[object, object] 是对象的字符串形式。通常可以使用 JSON.stringify() 来解析。
-
例如: 在uniapp中使用路由跳转传参,当我们传递的是一个对象时;
可以在跳转页面传递时使用JSON.stringify,先将数据转换成JSON格式;
然后在接收页面使用JSON.parse,将数据解析成对象。
// 页面 A 跳转传参 let obj={ index: this.index, value: value } uni.navigateTo({ url: `/pages/A/A?obj=${JSON.stringify(obj)}` })
// 页面 B 接收 onLoad(options) { console.log(JSON.parse(options.obj)) }