JSON.parse无双引号如何实现转换
Posted DisonTangor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON.parse无双引号如何实现转换相关的知识,希望对你有一定的参考价值。
用JSON.parse()做转换,必须用双引号包起来。但是我用chrome的devtools时,它可以自动转换。于是上网查了一下,原来可以通过replace方法格式化一下。
let a= "{id: 1, name:test, gender: 男,}";
let fixed_a = a.replace(/([\'"])?([a-z0-9A-Z\\u4e00-\\u9fa5_]+)([\'"])?\\s*:/g, \'"$2": \')
.replace(/:\\s*([\'"])?([a-z0-9A-Z\\u4e00-\\u9fa5_]+)([\'"])?/g, \': "$2"\')
.replace(/:\\s*,/g, `:"",`)
.replace(/:\\s*,\\s*}/g, `:""}`)
.replace(/,\\s*}/g, "}");
let obj = JSON.parse(fixed_a);
console.log(obj);
参考资料:
以上是关于JSON.parse无双引号如何实现转换的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 之 JSON [4] parse()和stringify() -JSON字符串和JavaScript对象数据之间的相互转换
如何将单引号 (') 捕获到 JSON.parse 的字符串中?
JSON.stringify() 与JSON.parse()