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无双引号如何实现转换的主要内容,如果未能解决你的问题,请参考以下文章

请教jsonJSON.parse中双引号如何解决

JavaScript 之 JSON [4] parse()和stringify() -JSON字符串和JavaScript对象数据之间的相互转换

如何将单引号 (') 捕获到 JSON.parse 的字符串中?

JSON.stringify() 与JSON.parse()

JSON.stringify() / JSON.parse()

JSON.parse()与JSON.stringify()