需要一个字符串JSON Validator

我正在使用newtonsoft的JSON.Net并热爱它的每一分钟。

但是,我使用JObject.Parse(jsonString)从响应字符串中获取JToken。 如果我发送无效的JSON,我会得到一个例外。 我可以捕获exception,但我希望能够在将字符串发送到Parse之前先测试它。

也许类似于JObject.TryParse() (它不存在)。

我甚至拿bool ValidJson(字符串)

我知道那里有JSONLint,但我真的希望将外部调用保持在最低限度。

有任何想法吗?

最简单的解决方案是编写一个调用JObject.Parse的函数,如果抛出exception则返回false。

使用JContainer.Parse(str)方法检查str是否是有效的Json。 如果这会引发exception,那么它就不是有效的Json。

JObject.Parse – 可用于检查字符串是否是有效的Json对象
JArray.Parse – 可用于检查字符串是否是有效的Json数组
JContainer.Parse – 可用于检查Json对象和数组

一个有效的代码片段

 public bool isValidJSON(string json) { try { JToken token = JObject.Parse(json); return true; } catch(Exception ex) { return false; } } 

感谢MRAB