需要一个字符串JSON Validator

时间:2011-08-01 19:38:08

标签: c# .net json

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

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

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

我甚至会接受   bool ValidJson(string)

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

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

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

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

答案 2 :(得分:0)

正在运行的代码段

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

感谢MRAB