给定以下JSON结构,我希望能够在$中找到条目。数据
数组,其中包含具有特定项目ID的项目
。
{
"data": [
{
"id": "1",
"items": [{"itemId": "item1"}]
},
{
"id": "2",
"items": [{"itemId": "item2"}]
}
]
}
假设我正在寻找带有itemId==“item2”
的条目——在这种情况下,我想提取完整的对象:
{
"id": "2",
"items": [{"itemId": "item2"}]
}
我尝试嵌套$()
过滤器,但没有成功:
$.data[?@.items[?(@.itemId == "item2")])]
$.data[?("item2" in @.items[*].itemId)]
$.data[?(@.items[*].itemId contains "item2")]
我可以很容易地通过$. data[*]找到项目对象本身。项目[?(@. itemId=="item2")]
,但是我想实际上检索它的父对象!这在JSONPath中可能吗?
在这个具体的例子中,这应该是可行的:
$..data[?(@.items[0].itemId == 'item2')]
结果是一个列表,因为过滤器总是返回列表:
[
{
"id": "2",
"items": [
{
"itemId": "item2"
}
]
}
]
这在这里起作用,因为我们在items
数组中取第一个元素,以便应用过滤器(索引[0]
)。对于更复杂的场景,可能需要进行一些调整。
在这里测试:https://jsonpath.com/
假设我有一个名为House的对象,它包含一个列表 对于房间,只有一个属性,其值由int表示: 现在,使用Java8,并给出一个带有
问题内容: 我是xpath的新手,尝试使用xpath获取“值”的值: 虽然很容易找到像这样的元素: 我还无法弄清楚如何获得所需的值,例如: 某些预期会产生错误: 任何想法如何解决这个问题? 编辑:xpath是正确的,但是它“返回”了obj属性,并且由于它不是元素,因此不允许使用。我找不到类似get_attr_by_xpath()之类的方法。 问题答案: 我最终用作:
我是xpath的新手,试图使用xpath获取“value”的值: 虽然通过很容易找到元素,但如下所示: 我还没能弄清楚如何获得我需要的值,因为: 有点意外地给出了一个错误: 有什么办法解决这个问题吗? 编辑:xpath是正确的,但它“返回”一个obj属性,因为它不是元素,所以不允许使用。我找不到像get_attr_by_xpath()这样的方法,或者任何类似的方法。
我找到了一个解决方案,但它使用Java-8。
我试图排序基于一个nullable ArrayList在java 8列表。 列表如下 我正在尝试使用streams sort根据患者就诊日期(就诊列表中的第一个元素)的降序对患者对象进行排序。空值应该放在最后。最终结果必须是 我尝试过以下方法,但即使在空检查之后,也会出现空指针异常。
我想要编写一个Spring Data JPA存储库接口方法签名,它将允许我查找实体中具有嵌入对象属性的实体。有没有人知道这是否可能,如果可能,如何实现?