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

JsonObject的屬性與值的判空(Null值)處理方式

 更新時間:2023年12月07日 15:29:22   作者:Stephen·You  
這篇文章主要介紹了JsonObject的屬性與值的判空(Null值)處理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

問題現(xiàn)象

之前在項目中遇到一個沒有遇到過的問題,就是在使用 == null 來對jsonObject這個對象的id屬性進行null值判空時會發(fā)生一個問題:

當(dāng)前端不傳入該屬性 ({}) 時: jsonObject.get("id") == null 結(jié)果為: true

但當(dāng)前端傳入?yún)?shù)null ({"id" : null}) 時: jsonObject.get("id") == null 結(jié)果為: false

也就是說當(dāng) 前端傳入?yún)?shù)"id" 不管是否傳入 null,  則 jsonObject.get("id") 就不會是 null  !!!!!!

問題分析

一開始,我確實以為JsonObject的判空操作應(yīng)該和一般的Object對象是一樣的,在了解了一下JsonObject這個對象的配置之后,才知道:

原來JsonObject有兩個判空方式:

  • 第一種:在前端不傳入該屬性時:

通過 jsonObject.get("id") == null 進行判空

  • 第二種:在前端傳入?yún)?shù)為null值時:

通過 jsonObject.get("orgId").isJsonNull() 方法 來判空.

總結(jié): 其實這兩種情況是不同的:

  • 第一種是:前端不傳入該屬性;

這個時候 jsonObject.get("id") 獲取這個屬性對象{key:value} 就是null, 因此只能用 == null 來判空!

  • 第二種是:前端傳入?yún)?shù)為null值;

這個時候 jsonObject.get("id") 可以獲取這個屬性對象{key:value}, 只是這個對象的value值為 null, 但 key 依然是 id, 所以這個對象不為null,因此只能用 isJsonNull() 方法 來判空

解決方法

if ( jsonObject.get("id") != null )

改為:

if ( jsonObject.get("id") != null && !jsonObject.get("id").isJsonNull() )

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Java讀取本地文件并顯示在JSP文件中

    詳解Java讀取本地文件并顯示在JSP文件中

    這篇文章主要介紹了詳解Java讀取本地文件并顯示在JSP文件中的相關(guān)資料,這里提供實例幫助大家實現(xiàn)這樣的功能,希望能幫助到大家,需要的朋友可以參考下
    2017-08-08
  • 詳解如何將JAVA程序制作成可以直接執(zhí)行的exe文件

    詳解如何將JAVA程序制作成可以直接執(zhí)行的exe文件

    這篇文章主要介紹了詳解如何將JAVA程序制作成可以直接執(zhí)行的exe文件,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • SpringBoot項目中控制臺日志的保存配置操作

    SpringBoot項目中控制臺日志的保存配置操作

    這篇文章主要介紹了SpringBoot項目中控制臺日志的保存配置操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java關(guān)鍵字instanceof用法及實現(xiàn)策略

    Java關(guān)鍵字instanceof用法及實現(xiàn)策略

    instanceof 運算符是用來在運行時判斷對象是否是指定類及其父類的一個實例。這篇文章主要介紹了Java關(guān)鍵字instanceof用法解析,需要的朋友可以參考下
    2020-08-08
  • springSecurity之如何添加自定義過濾器

    springSecurity之如何添加自定義過濾器

    這篇文章主要介紹了springSecurity之如何添加自定義過濾器的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Spring?MVC數(shù)據(jù)綁定方式

    Spring?MVC數(shù)據(jù)綁定方式

    這篇文章主要介紹了Spring?MVC數(shù)據(jù)綁定方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 一篇文章讓你徹底了解Java可重入鎖和不可重入鎖

    一篇文章讓你徹底了解Java可重入鎖和不可重入鎖

    最近正在閱讀Java ReentrantLock源碼,始終對可重入和不可重入概念理解不透徹,今天特地整理了本篇文章,讓你徹底了解Java可重入鎖和不可重入鎖,需要的朋友可以參考下
    2021-06-06
  • Java日常練習(xí)題,每天進步一點點(27)

    Java日常練習(xí)題,每天進步一點點(27)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • java設(shè)計模式之外觀模式(Facade)

    java設(shè)計模式之外觀模式(Facade)

    這篇文章主要為大家詳細介紹了java設(shè)計模式之外觀模式Facade的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • SpringAOP中@Pointcut的用法詳解

    SpringAOP中@Pointcut的用法詳解

    這篇文章主要介紹了SpringAOP中@Pointcut的用法詳解,Pointcut(切點)是面向切面編程中的一個非常重要的概念,此概念由spring框架定義,Pointcut只是一種篩選規(guī)則,需要的朋友可以參考下
    2023-08-08

最新評論