欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中判斷json key是否存在的幾種方法

 更新時(shí)間:2025年09月28日 11:26:19   作者:forever銳  
在使用Java處理JSON數(shù)據(jù)時(shí),如何判斷某一個(gè)key是否存在?本文就來介紹三種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在使用Java處理JSON數(shù)據(jù)時(shí),如何判斷某一個(gè)key是否存在?

第一種方法是使用 JSONObject 的 has 方法

該方法會(huì)返回一個(gè)布爾值,表示JSON對(duì)象中是否包含指定的key。具體代碼如下:

JSONObject obj = new JSONObject("{"name":"Jack", "age":18}");
boolean hasKey = obj.has("name");
System.out.println("是否包含name屬性:" + hasKey);   // 輸出 true

第二種方法是使用 JSONObject 的 opt 方法

該方法會(huì)根據(jù)key獲取對(duì)應(yīng)的value,如果key不存在則返回null。可以通過判斷返回值是否為null來判斷key是否存在。具體代碼如下:

JSONObject obj = new JSONObject("{"name":"Jack", "age":18}");
String name = obj.optString("name");
if(name == null) {
System.out.println("不存在name屬性");
} else {
System.out.println("存在name屬性,值為:" + name);
}

第三種方法是將JSON字符串轉(zhuǎn)換為Map對(duì)象

然后判斷Map中是否包含指定的key。具體代碼如下:

String jsonStr = "{"name":"Jack", "age":18}";
Mapmap = JSON.parseObject(jsonStr, new TypeReference>(){});
if(map.containsKey("name")) {
System.out.println("存在name屬性");
} else {
System.out.println("不存在name屬性");
}

到此這篇關(guān)于java中判斷json key是否存在的幾種方法的文章就介紹到這了,更多相關(guān)java 判斷json key是否存在內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 快速掌握J(rèn)ava8中的Optional

    快速掌握J(rèn)ava8中的Optional

    Optional 是一個(gè)容器類,代表一個(gè)值存在或不存在,Optional并不是用來替換所有的null,而是為了在設(shè)計(jì)良好的API中更明確地表達(dá)可能缺失的值,這篇文章主要介紹了Java8的Optional及使用,需要的朋友可以參考下
    2023-07-07
  • SpringCloud安裝Nacos完成配置中心

    SpringCloud安裝Nacos完成配置中心

    如果不滿足上篇文章的eureka注冊(cè)中心,那么本文記錄的Nacos是不二之選。本文主要記錄Springboot基于Nacos實(shí)現(xiàn)配置中心
    2022-07-07
  • 使用Spring Initializr創(chuàng)建Spring Boot項(xiàng)目沒有JDK1.8的解決辦法

    使用Spring Initializr創(chuàng)建Spring Boot項(xiàng)目沒有JDK1.8的解決辦法

    很久沒創(chuàng)建springboot項(xiàng)目,今天使用idea的Spring Initializr 創(chuàng)建 Spring Boot項(xiàng)目時(shí),發(fā)現(xiàn)java版本里,無法選擇jdk1.8,只有17、21、22,所以本文介紹了使用Spring Initializr創(chuàng)建Spring Boot項(xiàng)目沒有JDK1.8的解決辦法,需要的朋友可以參考下
    2024-06-06
  • OpenFeign指定url方式調(diào)用的方式詳解

    OpenFeign指定url方式調(diào)用的方式詳解

    OpenFeign一般是結(jié)合注冊(cè)中心一起使用的,也就是可以通過提供服務(wù)的名稱而不是url來完成對(duì)目標(biāo)服務(wù)的訪問,本篇我們就講解一下OpenFeign直接通過目標(biāo)服務(wù)的url進(jìn)行調(diào)用的方式,需要的朋友可以參考下
    2024-11-11
  • springboot的http.server.requests服務(wù)請(qǐng)求流程源碼

    springboot的http.server.requests服務(wù)請(qǐng)求流程源碼

    這篇文章主要為大家介紹了springboot的http.server.requests服務(wù)請(qǐng)求流程源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • SpringBoot整合EasyExcel?3.x的完整示例

    SpringBoot整合EasyExcel?3.x的完整示例

    EasyExcel 是一個(gè)基于 Java 的、快速、簡(jiǎn)潔、解決大文件內(nèi)存溢出的 Excel 處理工具,它能讓你在不用考慮性能、內(nèi)存的等因素的情況下,快速完成 Excel 的讀、寫等功能,這篇文章主要介紹了SpringBoot整合EasyExcel3.x的過程,需要的朋友可以參考下
    2023-07-07
  • 解決在SpringBoot中使用@Value取不到值的問題

    解決在SpringBoot中使用@Value取不到值的問題

    這篇文章主要給大家分享解決在SpringBoot中使用@Value取不到值的問題,文中有詳細(xì)的解決代碼供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-09-09
  • MyBatis Plus實(shí)現(xiàn)一對(duì)多的查詢場(chǎng)景的三種方法

    MyBatis Plus實(shí)現(xiàn)一對(duì)多的查詢場(chǎng)景的三種方法

    MyBatis Plus提供了多種簡(jiǎn)便的方式來進(jìn)行一對(duì)多子查詢,本文主要介紹了MyBatis Plus實(shí)現(xiàn)一對(duì)多的查詢場(chǎng)景的三種方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • Java中定時(shí)器Timer和TimerTask使用方法全解析

    Java中定時(shí)器Timer和TimerTask使用方法全解析

    這篇文章主要介紹了Java中定時(shí)器Timer和TimerTask使用方法的相關(guān)資料,如何創(chuàng)建定時(shí)任務(wù)、安排任務(wù)執(zhí)行、取消任務(wù)以及實(shí)現(xiàn)任務(wù)的暫停和恢復(fù)功能,通過這些功能,可以靈活地控制任務(wù)的執(zhí)行,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • 聊聊RabbitMQ發(fā)布確認(rèn)高級(jí)問題

    聊聊RabbitMQ發(fā)布確認(rèn)高級(jí)問題

    這篇文章主要介紹了RabbitMQ發(fā)布確認(rèn)高級(jí)問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01

最新評(píng)論