一、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\" }]"
上面写法可以,下面写法不可以。