【问题标题】:Jquery/Javascript remove double quotes form array valueJquery/Javascript 从数组值中删除双引号
【发布时间】:2015-09-29 06:24:49
【问题描述】:
myArray = ["{url: '/delete', key: 71}", "{url: '/delete', key: 72}", "{url: '/delete', key: 73}", "{url: '/delete', key: 74}"]

我想删除包裹对象的" 字符。或者从双引号中转义。

我试过了

myArray.replace(/"/g,"")

但它说:

Uncaught TypeError: myArray.replace is not a function

有人有同样的经历吗?谢谢

【问题讨论】:

  • 您从哪里获得这些数据?格式表明它应该是 JSON,但格式无效。
  • 删除引号不会突然使内容成为对象。如果这就是你想要做的。
  • 我从 ruby​​ 数组中得到数据

标签: javascript jquery arrays escaping


【解决方案1】:

您可以使用 map()eval() 将字符串数组转换为对象数组

eval() 方法评估表示为字符串的 JavaScript 代码。

var myArray = ["{url: '/delete', key: 71}", "{url: '/delete', key: 72}", "{url: '/delete', key: 73}", "{url: '/delete', key: 74}"];

myArray = myArray.map(function(v) {
  return eval('(' + v + ')');
});

document.write(JSON.stringify(myArray));

这不是一个好方法,您可以以有效的 json 格式发送数据。这将比上述方法安全得多。例如: ["{\"url\": \"/delete\", \"key\": 71}", "{\"url\": \"/delete\", \"key\": 72}", "{\"url": \"/delete\", \"key\": 73}", "{\"url\": \"/delete\", \"key\": 74}"],在这种情况下您可以使用JSON.parse() 而不是eval()

在 ruby​​ 中,您可以将数组转换为 JSON 字符串,请参阅 Ruby: How can I convert an array of data to hash and to json format?Parsing a Ruby Array to JSON

【讨论】:

  • @kraf : JSON 无效
猜你喜欢
  • 2018-05-28
  • 2017-05-21
  • 1970-01-01
  • 2020-01-30
  • 2020-02-29
  • 1970-01-01
  • 2017-05-06
  • 1970-01-01
相关资源
最近更新 更多