有没有什么办法来验证被JSON或不是一个字符串? 除了try / catch语句。
我使用ServiceStack JSON序列,无法找到与验证的方法。
有没有什么办法来验证被JSON或不是一个字符串? 除了try / catch语句。
我使用ServiceStack JSON序列,无法找到与验证的方法。
也许是最快和最肮脏的方法是检查如果字符串以“{”开始:
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:
一个工作代码段
public bool isValidJSON(String json)
{
try
{
JToken token = JObject.Parse(json);
return true;
}
catch (Exception ex)
{
return false;
}
}
资源
你可以找到一对夫妇正则表达式在这里验证JSON: 正则表达式验证JSON
它是用PHP编写的,但应该适应C#。