正则表达式验证JSON
发布时间:2020-12-14 00:35:52 所属栏目:百科 来源:网络整理
导读:我正在寻找一个正则表达式,让我验证json。 我是新的Regex和我知道足够的解析与Regex是坏,但它可以用于验证吗? (这个正则表达式是从证明错误的部门给你的。) 是的,一个完整的regex验证是可能的。 大多数现代的正则表达式实现允许递归的regexpressions,它
我正在寻找一个正则表达式,让我验证json。
我是新的Regex和我知道足够的解析与Regex是坏,但它可以用于验证吗?
(这个正则表达式是从证明错误的部门给你的。)
是的,一个完整的regex验证是可能的。 大多数现代的正则表达式实现允许递归的regexpressions,它可以验证一个完整的JSON序列化结构。 json.org specification使它相当简单。 $pcre_regex = ' / (?(DEFINE) (?<number> -? (?= [1-9]|0(?!d) ) d+ (.d+)? ([eE] [+-]? d+)? ) (?<boolean> true | false | null ) (?<string> " ([^"\]* | \ ["\bfnrt/] | \ u [0-9a-f]{4} )* " ) (?<array> [ (?: (?&json) (?:,(?&json) )* )? s* ] ) (?<pair> s* (?&string) s* : (?&json) ) (?<object> { (?: (?&pair) (?:,(?&pair) )* )? s* } ) (?<json> s* (?: (?&number) | (?&boolean) | (?&string) | (?&array) | (?&object) ) s* ) ) A (?&json) Z /six '; 它在PHP中与PCRE functions 相当不错。在Perl中应该没有修改;并且当然可以适用于其他语言。它也成功与JSON test cases。 简化RFC4627验证 一个更简单的方法是在RFC4627,section 6中规定的最小一致性检查。然而它只是作为安全测试和基本的非有效性预防措施: var my_JSON_object = !(/[^,:{}[]0-9.-+Eaeflnr-u nrt]/.test( text.replace(/"(.|[^"])*"/g,''))) && eval('(' + text + ')'); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |