【问题标题】:How can I parse a string of an array into an array? [duplicate]如何将数组的字符串解析为数组? [复制]
【发布时间】:2017-01-27 11:33:33
【问题描述】:
{scenarios: "[{purchasePrice:11,downPayment:1,term:30,rate:1}]"}

那是我的目标。我想将场景的值转换为数组,它试图来自它的字符串。

有没有一个快速的工具,所以我不必从 .splits 中破解它?

【问题讨论】:

  • eval()可以用
  • 该字符串是如何创建的?

标签: javascript arrays string request.querystring


【解决方案1】:

是的,如果字符串来自受信任的来源,您可以使用eval,它将将该字符串评估为 JavaScript 代码:

var scenarios = eval(theObject.scenarios);

由于eval 允许运行任意代码,因此请勿在来自不受信任来源的字符串上使用它。此外,它往往会使 JavaScript 引擎难以或不可能优化其所在的代码,因此请将您对它的使用隔离在一个函数中,以便将影响降至最低。

【讨论】:

  • 即使它不是有效的 JSON,使用JSON.parse(obj.scenarios); 可能仍然更安全,对吧?
  • @Jonathan:嗯,不,因为这只会因错误而失败。 如果它是有效的JSON,那么是的,最好使用JSON.parse
  • 啊抱歉,我明白了...
  • 不幸的是,它是一个查询字符串参数。还有其他方法可以在 QS 中安全地存储对象数组吗?
  • @AronGreenspan 为什么不使用JSON.stringifyJSON.parse
猜你喜欢
  • 1970-01-01
  • 2018-06-11
  • 1970-01-01
  • 2021-11-05
  • 2017-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-07
相关资源
最近更新 更多