正则表达式 - 从正则表达式结果中删除带有正则表达式的字符串

Regex - Remove a string with regex from regex result

我有一个奇怪的 JSON 值,其中包含没有引号的大括号。所以,我无法用 javascript 中的 JSON.parse 函数解析它。有没有人想解析以下 strange-JSON 数据?另外,我会接受用正则表达式替换那些大括号。

这是我的 JSON 数据。

`{
    "glossary": {
        "title": ${find_this},
        "GlossDiv": {
            "title": "${dont_find_this}",
            "GlossList": {
                "GlossEntry": {
                    "ID": "SGML",
                    "SortAs": "SGML",
                    "GlossDef": {
                        "GlossSeeAlso": [
                            "GML",
                            "XML"
                        ]
                    },
                    "GlossSee": ${find_this_too}
                }
            }
        }
    }
}`

谢谢:)

你可以这样使用:

var JSONStrUnprocessed = `
{
    "glossary": {
        "title": ${find_this},
        "GlossDiv": {
            "title": "${dont_find_this}",
            "GlossList": {
                "GlossEntry": {
                    "ID": "SGML",
                    "SortAs": "SGML",
                    "GlossDef": {
                        "GlossSeeAlso": [
                            "GML",
                            "XML"
                        ]
                    },
                    "GlossSee": ${find_this_too}
                }
            }
        }
    }
}
`

var JSONStrProcessed = JSONStrUnprocessed.replace(/(?!")($\{[^\}]+\})(?!")/g, '""')
console.log(JSON.parse(JSONStrProcessed))