【发布时间】:2016-02-02 16:38:30
【问题描述】:
如何在 javascript 中剥离 json cmets ? 我认为正则表达式将是一种简洁的方式。
{
"filed": { // comments
"n": 1 /* multi-line ...
comments */
},
"field2": " // comments in string , /* here */ "
}
应该在上面的例子中工作。
注意:字符串中的 cmets 应该不被删除。
更新:我知道 cmets i json 无效,但为简单起见,我想拥有它们然后删除它们,我看到很多工具支持解析具有 cmets 的 json。
更新 2:上面的例子本身是一个字符串,我没有解释(对不起),现在看到一些答案认为它是一个 js 代码。
更新 3:我再次忘记将键名放在双引号中,更新了问题。
【问题讨论】:
-
为什么在 json 中有 cmets?那个json无效...
-
更新了问题@taxicala
-
如果你想走正则表达式路线,
(\/\*[\S\s]*?\*\/)|(\/\/[^\n]*)可能工作:regex101.com/r/fJ1aC6/1 -
带或不带 cmets - 它是不是 JSON,它是一个对象字面量。
-
我刚刚为此写了一个小帮手:decomment.
标签: javascript json regex