解析被引号包裹的对象
1 目录
2 情景
在某些情况下,我得到了一个被引号包裹的对象(非JSON),如下:
const str = '{name: "zhangsan", age: 18}'
我想要得到一个对象,如下:
const obj = {
name: 'zhangsan',
age: 18
}
3 解决方案
3.1 利用Function构造函数
利用Function构造函数,如下:
function looseJsonParse(obj) {
return window.Function(`"use strict";return (${obj});`)()
}
const str = '{name: "zhangsan", age: 18}'
const obj = looseJsonParse(str)
3.2 JSON5
利用 JSON5,如下:
import JSON5 from 'json5'
const str = '{name: "zhangsan", age: 18}'
const obj = JSON5.parse(str)