亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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);
}
/*
這段代碼的也是設置捕獲異常的,只是大范圍的驗證,如果匹配不上則給予默認值。上面的是嚴格判斷
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字符串與實體之間的嚴格驗證,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • JS正則表達式大全(整理詳細且實用)

    JS正則表達式大全(整理詳細且實用)

    JS正則表達式大全(整理詳細且實用)。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11
  • JS代碼防止SQL注入的方法(超簡單)

    JS代碼防止SQL注入的方法(超簡單)

    下面通過兩個方面給大家介紹js代碼防止sql注入的方法,非常簡單實用,感興趣的朋友參考下吧
    2016-04-04
  • JS實現(xiàn)滑動條案例

    JS實現(xiàn)滑動條案例

    這篇文章主要為大家詳細介紹了JS實現(xiàn)滑動條案例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 微信小程序使用車牌號輸入法的示例代碼

    微信小程序使用車牌號輸入法的示例代碼

    這篇文章主要介紹了微信小程序使用車牌號輸入法的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • JavaScript 實現(xiàn)類的多種方法實例

    JavaScript 實現(xiàn)類的多種方法實例

    JavaScript 實現(xiàn)類的多種方法實例,需要的朋友可以參考一下
    2013-05-05
  • JS如何通過FileReader獲取.txt文件內(nèi)容

    JS如何通過FileReader獲取.txt文件內(nèi)容

    今天小編就為大家分享一篇JS如何通過FileReader獲取.txt文件內(nèi)容,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • js實現(xiàn)短信發(fā)送倒計時功能(正則驗證)

    js實現(xiàn)短信發(fā)送倒計時功能(正則驗證)

    這篇文章主要為大家詳細介紹了js實現(xiàn)短信發(fā)送倒計時功能,包含正則驗證,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • JS中async/await實現(xiàn)異步調(diào)用的方法

    JS中async/await實現(xiàn)異步調(diào)用的方法

    這篇文章主要介紹了async/await實現(xiàn)異步調(diào)用的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • uni-app多環(huán)境部署解決方案詳解

    uni-app多環(huán)境部署解決方案詳解

    uni-app可通過process.env.NODE_ENV判斷當前環(huán)境是開發(fā)環(huán)境還是生產(chǎn)環(huán)境,下面這篇文章主要給大家介紹了關于uni-app多環(huán)境部署的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • JavaScript枚舉選擇jquery插件代碼實例

    JavaScript枚舉選擇jquery插件代碼實例

    這篇文章主要介紹了JavaScript枚舉選擇jquery插件代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11

最新評論