文字列がjsonであるかどうかを検証する方法はありますか?try/catch以外。
ServiceStack Json Serializerを使用していますが、検証に関連するメソッドが見つかりませんでした。
文字列がjsonであるかどうかを検証する方法はありますか?try/catch以外。
ServiceStack Json Serializerを使用していますが、検証に関連するメソッドが見つかりませんでした。
おそらく最も速くて汚い方法は、文字列が「{」で始まるかどうかを確認することです。
public static bool IsJson(string input){
input = input.Trim();
return input.StartsWith("{") && input.EndsWith("}")
|| input.StartsWith("[") && input.EndsWith("]");
}
もう1つのオプションは、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#に適応できる必要があります。