国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

關(guān)于json字符串與實體之間的嚴(yán)格驗證代碼

2019-11-19 18:59:18
字體:
供稿:網(wǎng)友

在一個項目中要求嚴(yán)格驗證傳入的json字符串與定義的 類匹配,否則不記錄。感覺這個嚴(yán)格驗證找了好多資料才找到,可能用的人比較少,特摘出來給大家分析,直接上代碼了:

using Newtonsoft.Json;

首先引用 Newtonsoft.Json.Schema

主函數(shù)調(diào)用

private static void Main(string[] args){string Json = @"{ 'Email':'58', 'Active':true, 'CreateDate':'2015-12-11 9:24:33'}";try{/*這里是通過指定的實體創(chuàng)建一個規(guī)則來驗證傳入的json是否符合要求*/JSchemaGenerator generator = new JSchemaGenerator(); JSchema schema = generator.Generate(typeof(Account)); JObject person = JObject.Parse(Json); IList<string> messages;bool valid = person.IsValid(schema, out messages);if (!valid){foreach (string message in messages){Console.WriteLine(message); }}else{Console.WriteLine("OK"); }}catch (JsonSerializationException ex){Console.WriteLine(ex.Message);}/*這段代碼的也是設(shè)置捕獲異常的,只是大范圍的驗證,如果匹配不上則給予默認(rèn)值。上面的是嚴(yán)格判斷JsonConvert.DeserializeObject<Account>(Json, new JsonSerializerSettings{MissingMemberHandling = MissingMemberHandling.Error,Error = eventHandler });*/Console.Read();}public static void eventHandler(object sender, ErrorEventArgs args){var currentError = args.ErrorContext.Error.Message;Console.WriteLine(currentError);args.ErrorContext.Handled = true;}

實體類

using System; public class Account{public string Email { get; set; }public bool Active { get; set; }public DateTime CreateDate { get; set; } }

以上所述是小編給大家介紹的關(guān)于json字符串與實體之間的嚴(yán)格驗證,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 孝感市| 文水县| 库车县| 尤溪县| 曲沃县| 锦州市| 马尔康县| 罗田县| 永川市| 灵武市| 高安市| 石景山区| 泉州市| 平湖市| 宁波市| 永顺县| 伊金霍洛旗| 阜宁县| 扎兰屯市| 交口县| 延庆县| 通城县| 盐亭县| 江门市| 西丰县| 宜川县| 本溪| 远安县| 襄城县| 津市市| 华坪县| 望谟县| 收藏| 册亨县| 水城县| 扎囊县| 上栗县| 平遥县| 乐山市| 德江县| 永州市|