以下 JSON 对象是有效的:
{
"foo": "bar",
"pattern": "^(\/?[-a-zA-Z0-9_.]+)+$"
}
然而这一个是不:
{
"foo": "bar",
"pattern": "^(\/?[-a-zA-Z0-9_.]+)+\.jpg$"
}
这是转义后的点 (\.
),但我不明白为什么这不是有效的JSON。我需要在我的实际JSON模式中包含这样的模式。那里的正则表达式要复杂得多,并且无论如何都不能错过转义,特别是点。
顺便说一下,在字符类中转义连字符(例如[a-z\-]
)也会导致验证失败。
我该如何修复?
编辑:我使用了http://jsonlint.com和几个node库。