You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Jayway JsonPath返回数组中各子元素对应的完整路径

你可以通过开启 Jayway JsonPath 的 AS_PATH_LIST 配置选项直接获取匹配节点的路径数组,无需自行解析结构。

具体实现步骤

  1. 导入相关类:
import com.jayway.jsonpath.{Configuration, JsonPath, Option}
  1. 构造开启路径返回的配置:
val pathConfig = Configuration.builder()
  .options(Option.AS_PATH_LIST)
  .build()
  1. 执行原查询语句即可得到路径列表:
// 返回的是Java类型的路径列表,可根据需要转换为Scala集合
val bookPaths: java.util.List[String] = JsonPath.read(myData, "$.libraries[*].genres[*].books[*]", pathConfig)

格式适配说明

默认返回的路径格式为 $['libraries'][0]['genres'][1]['books'][0],如果你需要问题示例中的 $.libraries(0).genres(1).books(0) 格式,只需做简单的字符串替换即可:

import scala.jdk.CollectionConverters._
val formattedPaths = bookPaths.asScala.map { path =>
  path.replace("['", ".")
    .replace("']", "")
    .replace("[", "(")
    .replace("]", ")")
}.toList

替换后输出的路径就和你要求的格式完全一致。


内容的提问来源于stack exchange,提问作者gollyzoom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 06:54:03