当前位置: 首页 > 知识库问答 >
问题:

什么库能让java天马行空的操作json?

谭光辉
2023-09-15
json.containsKey("a.b.c.d");json.containsKey("a.b.c.1");json.get("a.b.c.d");json.get("a.b.c.1.name");

点号分割的是多个键,数字表示数组的索引。

{    "a": {        "b": {            "c": [                {                    "name": "test"                }            ]        }    }}json.containsKey("a.b.c");为truejson.containsKey("a.b.c.0.name");为truejson.get("a.b.c.0.name");为test

共有2个答案

巫马心水
2023-09-15

jackson 可以支持 path 的写法

ObjectMapper.readTree("{}").at("/path/to/key").isMissingNode()// containsObjectMapper.readTree("{}").at("/path/to/key").asText() // get value

把 . 替换成 / 就行了

岳研
2023-09-15

json-path 应该可以满足,但是语法复杂很多,因为 json 格式的说法很多
但是如果真就这点需求,自己拿别的 json 库封装一下也可

 类似资料:
  • 本文向大家介绍JSP中 操作的功能是什么?,包括了JSP中 操作的功能是什么?的使用技巧和注意事项,需要的朋友参考一下 通过此操作,您可以将文件插入到正在生成的页面中。语法看起来像这样- 与include指令不同,include指令在将JSP页面转换为servlet时插入文件,而该动作则在请求页面时插入文件。 下表列出了与include操作相关联的属性- 序号 属性和说明 1 page 要包含的页

  • 我在学习函数式反应性编程时发现了这句话,来自刘海和保罗·胡达克的《用箭堵住空间泄漏》(第5页): 这里的差异似乎很小,但它极大地促进了空间效率。为什么以及如何发生?我最好的猜测是手工评估: 如上所述,我们需要为这些递归创建无限的新thunk。然后我尝试评估第二个: 在第二种形式中,出现了,并且可以在它出现的每个地方共享,所以我想这就是为什么我们只需要空格而不是。但是我不确定我是对还是错。 顺便说一

  • 我在使用JPA在数据库(PL / SQL)表中保存(插入)记录时遇到问题。 这是我的模型类: 回购类 道类 我已经尝试了所有的方法,但仍然是相同的错误。 错误o.a.c.c.C。[.[.路径为[]的上下文中的servlet [dispatcherServlet]的[dispatcher servlet]-servlet . service()引发异常[请求处理失败;嵌套异常是Java . lang

  • 本文向大家介绍Java中的数据库操作,包括了Java中的数据库操作的使用技巧和注意事项,需要的朋友参考一下 本文提供了有关如何创建简单JDBC应用程序的示例。这将向您展示如何打开数据库连接,执行SQL查询以及显示结果。 创建JDBC应用程序 构建JDBC应用程序涉及以下六个步骤- 导入软件包:要求您包含包含数据库编程所需的JDBC类的软件包。通常,使用import java.sql。*就足够了。

  • 请参考:http://www.kancloud.cn/manual/thinkphp/1723