验证字符串是在asp.net JSON或不(Validate a string to be json

2019-06-26 19:58发布

有没有什么办法来验证被JSON或不是一个字符串? 除了try / catch语句。

我使用ServiceStack JSON序列,无法找到与验证的方法。

Answer 1:

也许是最快和最肮脏的方法是检查如果字符串以“{”开始:

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:

  • http://james.newtonking.com/projects/json-net.aspx
  • http://james.newtonking.com/projects/json/help/index.html?topic=html/SerializingJSON.htm


Answer 2:

一个工作代码段

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

资源



Answer 3:

你可以找到一对夫妇正则表达式在这里验证JSON: 正则表达式验证JSON

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



文章来源: Validate a string to be json or not in asp.net