java中判斷json key是否存在的幾種方法
在使用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)文章
使用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-06springboot的http.server.requests服務(wù)請(qǐng)求流程源碼
這篇文章主要為大家介紹了springboot的http.server.requests服務(wù)請(qǐng)求流程源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12SpringBoot整合EasyExcel?3.x的完整示例
EasyExcel 是一個(gè)基于 Java 的、快速、簡(jiǎn)潔、解決大文件內(nèi)存溢出的 Excel 處理工具,它能讓你在不用考慮性能、內(nèi)存的等因素的情況下,快速完成 Excel 的讀、寫等功能,這篇文章主要介紹了SpringBoot整合EasyExcel3.x的過程,需要的朋友可以參考下2023-07-07MyBatis 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-07Java中定時(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í)問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01