【轉】c# -實體轉換為json串去除空值


版權聲明:本文為CSDN博主「LucPromise」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/LucPromise/article/details/90035648
————————————————

引用Newtonsoft.Json類
使用string str=JsonConvert.SerializeObject(實體類)轉換為字符串時,若實體類中有些字段為空值,那么轉換后的Json串回出現空值的情況
比如:

//此處是截取的Json片段

{
    "content": {
        "checkForm": {
            "aircraftNo": null,
            "billNo": null,
            "checkArea": null,
            "checkCustomsCode": "3104",
            "checkEndTime": null,
            "checkId": "CHECK_ID_20190423164506_VH3i65",
            "checkNum": "0",
            "checkPersonContactNumber": null,
            "checkPersonDept": null,
            "checkPersonName": null,
            "checkProcIdea": null,
            "checkProcResult": null,
            "checkRate": null,
            "checkRequestTotal": null,
            "checkResultTotal": null,
            "checkStartTime": null
           }
      }
}

那么怎么去掉這樣的Null值呢?
使用 JsonSerializerSettings 全局序列化設置

定義:
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; 
或者 
setting.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat;
 //空值處理  
setting.NullValueHandling = NullValueHandling.Ignore; 
使用:
string messageOut = JsonConvert.SerializeObject(實體類, Formatting.Indented,jsonSetting);

這樣就解決了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM