如何将不标准的json字符串转换为json对象

json字符串转换为json对象

1、如果是标准的json字符串,使用JSON.parse()方法就可以转换为json对象,如:
如何将不标准的json字符串转换为json对象_第1张图片
2、那如果是不标准的呢,如:

const nonStandard = "{'name': '李华'}"

该字符串外层双引号,内层单引号,如果使用JSON.parse()方法转换会报错,如:
如何将不标准的json字符串转换为json对象_第2张图片
那问题来了,如何将不标准的json字符串转换为标准的呢?

1、针对上面这个问题最容易想到的解决方案是将单引号先转换为双引号,如:
如何将不标准的json字符串转换为json对象_第3张图片
2、那还有什么方法吗,其实可以使用黑科技new Function来转换

new Function('return' + "nonStandard")

如何将不标准的json字符串转换为json对象_第4张图片
3、也可以先使用JSON.parse()转换,使用try,catch包裹,catch里面处理非标准json字符串

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