有了
Json.NET您,您可以针对架构验证json:
string schemaJson = @"{ 'status': {'type': 'string'}, 'error': {'type': 'string'}, 'pre': {'type': 'string'}}";JsonSchema schema = JsonSchema.Parse(schemaJson);JObject jobj = JObject.Parse(yourJsonHere);if (jobj.IsValid(schema)){ // Do stuff}然后在TryParse方法中使用它。
public static T TryParseJson<T>(this string json, string schema) where T : new(){ JsonSchema parsedSchema = JsonSchema.Parse(schema); JObject jObject = JObject.Parse(json); return jObject.IsValid(parsedSchema) ? JsonConvert.DeserializeObject<T>(json) : default(T);}然后做:
var myType = myJsonString.TryParseJson<AwsomeType>(schema);
更新:
请注意,架构验证不再是Newtonsoft.Json主程序包的一部分,您需要添加Newtonsoft.Json.Schema程序包。
更新2:
如评论中所述,“ JSONSchema”具有定价模型,这意味着 它不是免费的
。您可以在这里找到所有信息



