需要一个字符串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