尝试从排列的JSON密钥中删除引号

时间:2015-01-14 21:22:04

标签: javascript ruby arrays json

我有这个javascript对象(实际上是音符)的数组,这是在我的javascript前端生成的。为了存储它,我必须运行javascript JSON.stringify(objectArray)然后将它放入隐藏的输入中,但是这会自动将我的所有键都包含在双引号中,如下所示:

[
  {"class":"barline","symbol":"standard","barline":true,"newSystem":true},
  {"class":"note","rhythm":"half","duration":0.5,"symbol":"flag","hand":"R","newbar":true,"rebel":false},      
  {"class":"note","rhythm":"half","duration":0.5,"symbol":"flag","hand":"R","endbar":true,"rebel":false},
  {"class":"barline","symbol":"standard","barline":true},
  {"class":"note","rhythm":"half","duration":0.5,"symbol":"flag","hand":"R","newbar":true,"rebel":false}
]

在Rails中过滤我的params之前,我运行JSON.parse(params[:score][:notes])将它从一个字符串变成一个适当的JSON数组,以便存储在MongoDB中(我特意使用Mongoid)

我知道在大多数情况下将键保持在引号中通常是正确的过程,但我喜欢使用点符号来获取所有JS中的值。

我是否应该使用括号来切换我的JS以引用所有内容,或者你能想到一个能够快速解析密钥的简单函数吗?在发送到隐藏输入之前引用?

1 个答案:

答案 0 :(得分:1)

我正在寻找类似于传递linting的东西,这个正则表达式在字符串中以分号之前找到所有引号:

"(\w*)":

将其替换为仅包含引号的文本:

$1: