我有在我的 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 中过滤我的参数之前,我运行 JSON.parse(params[:score][:notes])
将它从字符串转换为适当的 JSON 数组以存储在 MongoDB 中(我我专门使用 Mongoid)
我知道在大多数情况下将键放在引号中通常是正确的程序,但我喜欢在我的所有 JS 中使用点符号来表示键来获取值。
我应该将我的 JS 切换为使用方括号引用所有内容,还是您能想到一个简单的函数来在发送到隐藏输入之前快速解析出键的引号?
最佳答案
我想做一些类似于 pass linting 的事情,这个正则表达式找到字符串中分号前的所有引号:
"(\w*)":
只用文本替换它,不包括引号:
$1:
关于javascript - 尝试从排列的 JSON 键中删除引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27952695/