在asp.net中验证字符串是否为json

时间:2012-08-06 20:39:01

标签: asp.net json servicestack

有没有办法验证字符串是否为json?除了尝试/捕获。

我正在使用ServiceStack Json Serializer,但找不到与验证相关的方法。

3 个答案:

答案 0 :(得分:16)

可能最快最肮脏的方法是检查字符串是否以'{'开头:

public static bool IsJson(string input){ 
    input = input.Trim(); 
    return input.StartsWith("{") && input.EndsWith("}")  
           || input.StartsWith("[") && input.EndsWith("]"); 
} 

另一个选择是您可以尝试使用JavascriptSerializer类:

JavaScriptSerializer ser = new JavaScriptSerializer(); 
SomeJSONClass = ser.Deserialize<SomeJSONClass >(json); 

或者您可以查看JSON.NET:

答案 1 :(得分:1)

正在运行的代码段

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

Source

答案 2 :(得分:0)

您可以在此处找到几个正则表达式来验证JSON:Regex to validate JSON

它是用PHP编写的,但应该适用于C#。