有没有办法验证字符串是否为json?除了尝试/捕获。
我正在使用ServiceStack Json Serializer,但找不到与验证相关的方法。
答案 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;
}
}
答案 2 :(得分:0)
您可以在此处找到几个正则表达式来验证JSON:Regex to validate JSON
它是用PHP编写的,但应该适用于C#。