【问题标题】:is there a way to convert js file or a script string to an object?有没有办法将 js 文件或脚本字符串转换为对象?
【发布时间】:2016-07-14 14:52:52
【问题描述】:

有没有一种方法可以将 js 文件字符串转换为无需字符串操作的对象? 我正在从页面中删除脚本元素并希望将其用作对象。 我得到的字符串是这样的:

   var variable1 = JSON.parse('{"bla": "blabla"}');
   var variable2 = "some string";

我想将第一个变量用作对象。

有没有一种无需过多文本操作的优雅方法?

【问题讨论】:

标签: javascript json


【解决方案1】:

你可以使用eval函数:

eval('var variable1 = JSON.parse(\'{"bla": "blabla"}\')');

请注意正确转义引号(请参阅Replacing quotation marks in Javascript?)。

注意:有人说eval is evil,因为您可能会通过执行您可能事先不知道它在做什么的代码来创建一些安全漏洞。但如果它符合您的需求,并且您知道自己在做什么,为什么不呢?

【讨论】:

  • 谢谢。 eval 是我一直在寻找的。不幸的是,即使我像提到的那样转义了引号,这也不适用于我试图评估的字符串。我放弃了,因为我在别处找到了数据。
【解决方案2】:

你可以:

eval("var variable1 = JSON.parse('{\"bla\": \"blabla\"}'); var variable2 = \"some string\"; ");

【讨论】:

  • 当然,eval 是邪恶的,但它确实非常直接地回答了 OP 的问题。也许有一些“安全”的库可用于进行这种字符串解析。
猜你喜欢
  • 2021-05-17
  • 1970-01-01
  • 2014-03-23
  • 2023-03-17
  • 2023-01-30
  • 2011-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多