【问题标题】:Converting a String to Object in Javascript在Javascript中将字符串转换为对象
【发布时间】:2017-09-29 08:18:58
【问题描述】:

如何将字符串转换为对象? 那是我的数据:

  "({"test1":[{"test2":55,"test":"15.06"},
   {"test3":55,"test4":"15.08"}]})"

【问题讨论】:

  • 申请eval(...)就可以了。或许也能理解 eval 的弊端。
  • 我看到在那个链中你有两个对象总是这样还是会是一个?如果它是一个对象,你可以使用JSON.parse
  • 谢谢@KalEl eval() 给我对象。

标签: javascript string object


【解决方案1】:

如果你去掉周围的括号,你会得到一个JSON字符串,可以使用JSON.parse()转换成一个对象:

var s = '({"test1":[{"test2":55,"test":"15.06"}, {"test3":55,"test4":"15.08"}]})',
    j = s.replace(/^\((.+)\)$/, '$1'),  //remove surrounding parentheses
    o = JSON.parse(j);

console.log(o);

【讨论】:

  • 感谢@RickHitchcock 这个答案非常好,实际上 eval() 方法解决了这个问题。
  • 如果您无法控制字符串,eval() 可能会很危险。否则,它应该可以正常工作。见stackoverflow.com/questions/86513/…
  • 好的,我不明白感谢@RickHitchcock 的解释,我使用你的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-17
  • 2016-07-16
  • 1970-01-01
  • 2021-08-21
  • 2020-12-30
相关资源
最近更新 更多