如何将这个作为字符串的javascript对象值转换为一个数组,删除外部引号,只留下括号?使用obj["text-font"] = obj["text-font"].split('"').join("");的尝试没有成功。
当前
text-font: "['Open Sans Regular', 'Arial Unicode MS Regular']"意欲
text-font: ['Open Sans Regular', 'Arial Unicode MS Regular']发布于 2021-05-28 19:56:57
如果您知道字符串中除了分隔字体名称的引号之外,没有其他引号,则可以将它们转换为双引号,然后使用JSON.parse()将其转换为数组。
obj['text-font'] = JSON.parse(obj['text-font'].replace(/'/g, '"'));发布于 2021-05-28 19:54:42
您可以用双引号替换单引号,然后使用JSON.parse()将其转换为实际的String数组。
obj["text-font"] = JSON.parse(obj["text-font"].replaceAll("'",'"'))在这里查看以获得更多信息:MDN : JSON.parse()
发布于 2021-05-28 19:54:35
也许使用埃瓦尔() **,但是要注意安全性问题,请参阅下面
let obj = {
"text-font": "['Open Sans Regular', 'Arial Unicode MS Regular']"
}
console.log(eval(obj['text-font']))
// to fix the object
obj['text-font'] = eval(obj['text-font']);
console.log(obj)
eval()有安全风险和恶意用户可以使用浏览器中的调试器通过XSS攻击执行自己的javascript --一般的建议是不要轻率地使用它。
https://stackoverflow.com/questions/67744760
复制相似问题