国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庄浪县| 双鸭山市| 安义县| 出国| 平昌县| 内黄县| 荆州市| 丰镇市| 芮城县| 五河县| 仪征市| 镇江市| 论坛| 韶山市| 勐海县| 南澳县| 密山市| 南投县| 工布江达县| 崇信县| 东山县| 玉田县| 河源市| 耒阳市| 宜州市| 宁化县| 仁化县| 冕宁县| 巴中市| 团风县| 枣庄市| 濮阳市| 兴和县| 丽江市| 札达县| 长泰县| 安远县| 射阳县| 石景山区| 通州市| 徐汇区|