关于JS的JSON转换问题

本文介绍了在使用JSON.parse()解析JSON字符串时需要注意的问题,特别是如何处理包含单引号的情况,并给出了具体的解决办法。

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

一、JSON.parse()使用注意点


测试得出:parse的入参不可以包含单引号,因此在将json、数组字符串转为json、数组对象时,需要将原字符串中的单引号转为双引号,再调用该方法:

.replace(/'/g, '"')  // 将字符串中单引号转换为双引号
JSON.parse("['M']".replace(/'/g, '"'))

.replace(/\"/g,"'") // 将字符串中双引号转换为单引号
以上问题出现在使用vux中的PopupPicker插件时,属性需要v-model一个array类型的值,但是从前台系统获取到的json数据中的值存在多样性,如"['M']"    "[\"1\"]"  ,单引号的存在,引起JSON.parse解析报错。因此需要做如上处理。


另,对于整数类型似乎比较宽容:


解析json数组字符串为对象:

"[{\"name\": \"身份证\", \"value\": \"1\" },{\"name\": \"户口本\", \"value\": \"7\" }]"
"[{name: \"身份证\", value: \"1\" },{name: \"户口本\", value: \"7\" }]"

上面写法可以,下面写法不可以。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值