假设给出了JSON字符串,我想使用C#进行验证。我们都知道JSON字符串具有以下格式
string jsonStr = {"Id":123,"Value":"asdf","Time":"adf","isGood":false}];
我现在要处理Number,String,Boolean,Null类型。我可以看到JSON的模式是
{ + " + String + " + : + (Number)|(Boolean)|(" + String + ")|(Null) + , + ... + } + ]
// ... means one or more
我真的是正则表达式的新手,所以我不知道...有人可以帮我吗?
编辑
抱歉,我没有使用JSON.NET,也不想使用它。我发现使用Regex是验证我的JSON字符串的唯一方法。如果有任何建议,我会去做。谢谢
EDIT2
我的问题是“如何使用Regex验证JSON”,而不是“我应该使用Regex验证JSON”。你们可能知道公司有自己的政策“不使用第三方资源”。伙计们我该怎么办?我只是不允许使用它。
我将把它放在缺少JSON知识的尝试的顶部,以便每个人都可以看到:
基本上,对于每个对此迷失方向的人来说,现代正则表达式实现都比正式的CS正则表达式走得更远,因此,由于诸如反向引用和递归之类的事情,不再局限于仅代表正则语言。因此,我们现在可以使用正则表达式来匹配非常规语言的东西,我将为您介绍这是不直观的。
无论如何,我都会把我的尝试留在这里。
此模式:
{("\w+":(\d+|"\w+"|true|false|null))+}\]
如果我对您的理解正确,则应该与您的要求相符,但是从愤怒的帖子风暴中,您似乎不应该使用正则表达式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句