gpt4 book ai didi

javascript - 从对象文字字符串创建对象

转载 作者:太空宇宙 更新时间:2023-11-04 03:18:37 24 4
gpt4 key购买 nike

有没有一种简单的方法可以将对象文字作为字符串解析为新对象?

我正在寻找如下所示的字符串:

'{ name: "A", list: [] }'

进入一个像这样的对象:

{ name: 'A', list: [] }

注意:

我不是在寻找 JSON.parse() 因为它接受 json 字符串而不是对象文字字符串。我希望 eval 能起作用,但不幸的是它不起作用。

最佳答案

eval 确实可以工作,只需一个调整:问题是独立行

{ name: 'A', list: [] }

被解释器解析为 block 的开头,而不是对象文字的开头。因此,就像隐式返回对象的箭头函数一样,需要用括号将对象括起来:

arr.map(item => ({ item }))

您需要在输入字符串两边加上括号,以便将其中的内容(即以 { 开头的对象)正确解析为表达式:

const input = '{ name: "A", list: [] }';
const obj = eval('(' + input + ')');
console.log(obj);

当然,与涉及 eval 的所有情况一样,您首先应该非常确定输入是值得信赖的。

关于javascript - 从对象文字字符串创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53055244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com