如何将HTML textarea输入的字符串转换为指定JavaScript对象
实现方法
方案一:new Function(更推荐,安全性优于eval)
直接把textarea拿到的字符串代入以下代码即可完成转换,不需要手动处理外层引号,也能兼容你示例里非严格JSON的写法(比如key不带引号、数组尾部逗号):
// textarea.value 就是你拿到的输入字符串 const getObj = new Function(`return ${textarea.value}`); const targetObj = getObj();
方案二:eval(仅推荐输入内容完全可控的场景使用)
注意要给字符串外层套一层括号,避免JS把开头的{识别为代码块起始符报错:
const targetObj = eval(`(${textarea.value})`);
补充说明
如果你的使用场景允许用户随意输入内容,建议在转换后追加对象结构校验逻辑,避免执行恶意代码。
内容的提问来源于stack exchange,提问作者seeman
相关产品推荐
相关产品推荐

