尝试从数组 JSON 键中删除引号

Trying to remove quotes from arrayed JSON keys

本文关键字:删除 JSON 数组      更新时间:2023-09-26

我有这个在我的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 切换为引用带括号的所有内容,或者你能想到一个简单的函数来快速解析键的引号,然后再发送到隐藏的输入吗?

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

"('w*)":

并仅将其替换为文本,不包括引号:

$1: