最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2016年11月10日 16:24:11   作者:怪才博士  
在一個(gè)項(xiàng)目中要求嚴(yán)格驗(yàn)證傳入的json字符串與定義的 類匹配,否則不記錄。后來查了好多資料才弄明白,下面小編給大家分享下關(guān)于json字符串與實(shí)體之間的嚴(yán)格驗(yàn)證,感興趣的朋友一起看看吧

在一個(gè)項(xiàng)目中要求嚴(yán)格驗(yàn)證傳入的json字符串與定義的 類匹配,否則不記錄。感覺這個(gè)嚴(yán)格驗(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
{
/*這里是通過指定的實(shí)體創(chuàng)建一個(gè)規(guī)則來驗(yàn)證傳入的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è)置捕獲異常的,只是大范圍的驗(yàn)證,如果匹配不上則給予默認(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;
}

實(shí)體類

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

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

相關(guān)文章

最新評(píng)論

丽江市| 玉环县| 喀喇沁旗| 平武县| 张家港市| 元谋县| 随州市| 独山县| 隆回县| 尤溪县| 阳城县| 虎林市| 辽宁省| 松溪县| 乌苏市| 石楼县| 三河市| 石柱| 美姑县| 龙川县| 游戏| 永善县| 广安市| 鸡东县| 珠海市| 鄂托克旗| 屏东县| 铜鼓县| 邹城市| 资阳市| 绵阳市| 积石山| 合江县| 桂平市| 济宁市| 呼和浩特市| 泾川县| 海晏县| 景德镇市| 建平县| 西华县|