有什么方法可以验证字符串是否为 json?除了 try/catch 。
我正在使用 ServiceStack Json Serializer 并且找不到与 validation 相关的方法。
有什么方法可以验证字符串是否为 json?除了 try/catch 。
我正在使用 ServiceStack Json Serializer 并且找不到与 validation 相关的方法。
可能最快和最脏的方法是检查字符串是否以'{'开头:
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:Regex to validate JSON
它是用 PHP 编写的,但应该适用于 C#。