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

首頁 > 開發 > JS > 正文

關于json字符串與實體之間的嚴格驗證代碼

2024-05-06 16:32:48
字體:
來源:轉載
供稿:網友

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

using Newtonsoft.Json;

首先引用 Newtonsoft.Json.Schema

主函數調用

private static void Main(string[] args){string Json = @"{ 'Email':'58', 'Active':true, 'CreateDate':'2015-12-11 9:24:33'}";try{/*這里是通過指定的實體創建一個規則來驗證傳入的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);}/*這段代碼的也是設置捕獲異常的,只是大范圍的驗證,如果匹配不上則給予默認值。上面的是嚴格判斷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; } }

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


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柳林县| 泰安市| 岳阳市| 延寿县| 即墨市| 罗定市| 郴州市| 永城市| 潜江市| 巴彦淖尔市| 翁源县| 万山特区| 北碚区| 商水县| 庄河市| 绥德县| 湖州市| 刚察县| 富源县| 临武县| 射阳县| 湾仔区| 衡水市| 九龙城区| 罗定市| 巴青县| 南城县| 冕宁县| 东光县| 安泽县| 柳林县| 桑日县| 博兴县| 甘谷县| 府谷县| 兴文县| 顺义区| 常宁市| 广平县| 海兴县| 大姚县|