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