java中判断json key是否存在的几种方法

 更新时间:2025年09月28日 11:26:19   作者:forever銳  
在使用Java处理JSON数据时,如何判断某一个key是否存在?本文就来介绍三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在使用Java处理JSON数据时,如何判断某一个key是否存在?

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

该方法会返回一个布尔值,表示JSON对象中是否包含指定的key。具体代码如下:

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

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

该方法会根据key获取对应的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字符串转换为Map对象

然后判断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属性");
}

到此这篇关于java中判断json key是否存在的几种方法的文章就介绍到这了,更多相关java 判断json key是否存在内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot使用Tika进行文档解析的完整指南

    SpringBoot使用Tika进行文档解析的完整指南

    Tika是一款Apache开源的,跨平台,支持多品种文本类型的内容检测和提取工具,本文主要为大家介绍了SpringBoot使用Tika进行文档解析的完整步骤,希望对大家有所帮助
    2025-07-07
  • Mybatis中自定义实例化SqlSessionFactoryBean问题

    Mybatis中自定义实例化SqlSessionFactoryBean问题

    这篇文章主要介绍了Mybatis中自定义实例化SqlSessionFactoryBean问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • springboot中poi使用操作方法

    springboot中poi使用操作方法

    在项目中,有很多对excel的操作,大都数时候我们都会使用poi工具类,本文将介绍poi的一些使用方法,感兴趣的朋友跟随小编一起看看吧
    2023-08-08
  • MyBatis核心配置文件深入分析

    MyBatis核心配置文件深入分析

    这篇文章主要介绍了MyBatis核心配置文件,MyBatis的前身就是iBatis,iBatis本是由Clinton Begin开发,后来捐给Apache基金会,成立了iBatis开源项目。2010年5月该项目由Apahce基金会迁移到了Google Code,并且改名为MyBatis
    2022-12-12
  • Java替换视频背景音乐的实现示例

    Java替换视频背景音乐的实现示例

    FFmpeg 是一个强大的开源多媒体处理工具,被广泛应用于音视频的录制、转码、编辑等方面,本文主要介绍了Java替换视频背景音乐,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • java实现双向链表的增删改

    java实现双向链表的增删改

    这篇文章主要为大家详细介绍了java实现双向链表的增删改,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 基于JDBC访问MySql公共方法实例解析

    基于JDBC访问MySql公共方法实例解析

    这篇文章主要介绍了基于JDBC访问MySql公共方法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • java中URLEncoder.encode与URLDecoder.decode处理url特殊参数的方法

    java中URLEncoder.encode与URLDecoder.decode处理url特殊参数的方法

    这篇文章主要给大家介绍了关于java中URLEncoder.encode与URLDecoder.decode处理url特殊参数的方法,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • springboot系统首页自动跳转拼接到index的实现

    springboot系统首页自动跳转拼接到index的实现

    文章介绍了通过访问http://localhost:8091时,服务器会动态跳转到系统的欢迎页面,实现原理是在程序启动时自动加载默认的请求路径,并动态拼接前缀和后缀,最终指向./WEB-INF/views/index.jsp,作者分享了这一经验,并希望得到大家的支持
    2025-11-11
  • 高效解决Maven依赖冲突的5种方法(操作步骤)

    高效解决Maven依赖冲突的5种方法(操作步骤)

    本文给大家介绍高效解决Maven依赖冲突的5种方法,结合具体场景说明操作步骤,感兴趣的朋友一起看看吧
    2025-07-07

最新评论