Java JsonPath表达式以筛选属性并选择部分记录?

Java JsonPath表达式以筛选属性并选择部分记录?,java,json,jsonpath,Java,Json,Jsonpath,以下是我正在使用的详细信息: com.jayway.jsonpath json路径 2.0.0 我有下面的JSON示例 [ { “某物”:“谁在乎”, “工作名称”:“我的长工作名称,以方框结尾”, “一些数字”:1 }, { “某物”:“谁在乎这里”, “工作名称”:“我的长工作名称,以其他名称结尾”, “一些数字”:2 } ] 到目前为止,我可以匹配以框结尾的记录: $.[?(@.job_name =~ /^.+box/i )] 查找具有作业\u名称以框结尾的所有对象,并转储整个记录

以下是我正在使用的详细信息:


com.jayway.jsonpath
json路径
2.0.0
我有下面的JSON示例

[
{
“某物”:“谁在乎”,
“工作名称”:“我的长工作名称,以方框结尾”,
“一些数字”:1
},
{
“某物”:“谁在乎这里”,
“工作名称”:“我的长工作名称,以其他名称结尾”,
“一些数字”:2
}
]
到目前为止,我可以匹配以
框结尾的记录:

$.[?(@.job_name =~ /^.+box/i )]
查找具有
作业\u名称
结尾的所有对象,并转储整个记录。这是可以的,但有时我想指定要返回的属性子集,而不是整个对象

在我的真实数据中有几十个字段,我一次只需要看到其中的几个字段

$.[?(@.job\u name=~/^.+box/i)]。job\u number
将只返回
job\u number

使用上面的示例数据,如何返回
job\u name
some\u number
,而不是
something

如何修改我的
JsonPath
表达式以仅返回我想要查看的字段。解决方案 在对文档进行了更多的尝试和错误之后,还有一件我还没有尝试过的事情,我找到了解决方案:

$.[?(@.job_name =~ /^.+box/i )].['job_name','some_number']
将返回一个
映射
,其中只有
作业名称
一些编号
作为示例数据中一条记录的键