java - 如何在 Jackson JsonNode 中使用点导航

标签 java json kotlin jackson

我有以下代码:

 private val parsed = ObjectMapper().readTree(vcap)
 parsed.get("spaces")?.firstOrNull()?.get("block1")?.asText()

我想使用点符号进行导航(出于可读性原因)。就像是:
 private val parsed = ObjectMapper().readTree(vcap)
 parsed.get("spaces[0].block1")?.asText()

是否可以?

最佳答案

如果您正在使用 jackson大于 2.3那么你可以简单地使用 JsonPointer表达

parsed.at("/spaces/0/block1")?.asText()

如果您想使用称为 json 路径的点导航,您可以使用 Jayway JsonPath
ReadContext ctx = JsonPath.parse(vcap);
ctx.read("$.spaces[0].block1");

关于java - 如何在 Jackson JsonNode 中使用点导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61229391/

相关文章:

java - 没有可用的 'org.context.Databasetransactionlistener' 类型的合格 bean : expected at least 1 bean which qualifies as autowire candidate

java - 为什么后退按钮在此 Android webview 中不起作用?

python - 如何递归查找嵌套 JSON 中的特定键?

android - 如何修复 Kotlin Multiplatform Mobile gradle 红色错误

initialization - 为什么 Kotlin 不允许将 lateinit 与原始类型一起使用?

java - Struts2 排除模式不起作用

java - 在 Java 客户端中使用缓存控制 header

android - 如何准备要发布的 Jetpack compose 应用程序,@Preview 可组合项呢?

javascript - 使用 angular 和 ng-repeat 从 Ajax JSON 加载表

json - Go json.NewDecoder().Decode() 似乎不遵守上下文截止日期