我有一个案例,我必须在json字符串中只允许一些特定的单词集,例如:
{"name":"prashant","id":123,"address":"e-56 first floor"} This is valid\n
{"name":"prashant","address":"e-56 first floor"} This is valid\n
{"id":123,"address":"e-56 first floor"} This is valid\n
{"address":"e-56 first floor"} This is valid\n
给定单词(name|id|address)
的任何排列组合都可以
现在无效
{"name":"prashant","id":123,"address":"e-56 first floor" ,"phno":"9999999999"}
无效如果使用了不属于给定列表的任何单词,则整个字符串将无效,即使其中包含3个有效的字符串也将无效。
任何人都可以为我提供REGEX。 提前致谢
答案 0 :(得分:0)
我建议将数据解析为JSON,有许多语言库。解析JSON后,您只需检查是否已设置所有必填字段。
答案 1 :(得分:0)
这应足以验证字典中的每个键是否有效。它不会发现一些畸形的json。
{("(name|id|address)":[^,]*,?)+}
以下内容不允许格式错误的json
{(("(name|address)":"[^"]*",)|("id":\d+,))*(("(name|address)":"[^"]*")|("id":\d+))}