关于JS的JSON转换问题

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

关于JS的JSON转换问题_第1张图片

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

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


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

关于JS的JSON转换问题_第3张图片

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

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

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

关于JS的JSON转换问题_第4张图片


你可能感兴趣的:(前端)