其他分享
首页 > 其他分享> > JSON.parse无双引号如何实现转换

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);

参考资料:

标签:u4e00,双引号,replace,parse,JSON,let,z0
来源: https://www.cnblogs.com/DisonTangor/p/14854956.html