JSON.stringify(),JSON.parse()

博主在做小程序时研究wx:for循环数组对象,介绍了JSON.stringify()和JSON.parse()的用法,测试发现JSON不能多次字符串化,继续parse会报错。还指出wx:for可循环数组对象,判断数组对象中是否含数组时,需字符串化后用indexOf()判断,使用数组方法不能字符串化后使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做小程序需要用到用wx:for来循环 数组对象,说实在有点懵,就自己研究了一下。

首先要了解JSON.stringify(),是把JSON对象字符串化;JSON.parse()把字符串JSON化。

JSON.parse(JSON.stringify([{},{}])) //就得到对象本身,这也是深复制的一种方法

那么有没有想过多嵌套几层会怎么样哈哈哈哈~

console.log(this.data.test)
    console.log('加一层      :'+JSON.stringify(this.data.test))
    console.log('加二层      :' +JSON.stringify(JSON.stringify(this.data.test)))
    console.log('加三层      :' +JSON.stringify(JSON.stringify(JSON.stringify(this.data.test))))
    console.log('加三层 解一层:' +JSON.parse(JSON.stringify(JSON.stringify(JSON.stringify(this.data.test)))))
    console.log('加二层 解一层:' +JSON.parse(JSON.stringify(JSON.stringify(this.data.test))))
    console.log(JSON.parse(JSON.stringify(this.data.test)))

这就是最后的结果 哈哈哈,相信很容易对比出来。那么我为什么要试这东西?是因为在想字符串化后继续字符串化会是怎么样。会不变化还是有所改变。事实证明有变化,不能多次使用,然后JSON格式如果继续parse是会报错的!

最后发现wx:for是可以循环数组对象的 就是[{},{}]。

但是!在判断数组对象中是否含有数组的时候不能直接用indexOf()来判断!必须都用JSON.stringify()字符串化后才可以判断!如果不存在indexOf()会返回-1

如果需要使用数组的方法就只能用数组对象直接使用,不能字符串化后才使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值