我试图从json文件中获取一个对象数组,但遇到了一个问题。
path.get("wgcTournaments.items")
我应该使用什么路径来获取项目中的所有项目(item0、item1、item2…)?
你能给我一个怎么做的建议吗。
Json 示例
{
"wgcTournaments": {
"items": {
"jcr:primaryType": "nt:unstructured",
"item0": {
"jcr:primaryType": "nt:unstructured",
"test": "test",
"test1": "test1"
},
"item1": {
"jcr:primaryType": "nt:unstructured",
"test": "test",
"test1": "test1"
},
"item2": {
"jcr:primaryType": "nt:unstructured",
"test": "test",
"test1": "test1"
},
"item3": {
"jcr:primaryType": "nt:unstructured",
"test": "test",
"test1": "test1"
}
}
}
}
从items对象中过滤item的最佳方法,但我不知道如何使用json路径。
您正在尝试将对象反序列化为对象数组。您的代码或JSON(很可能)是错误的。
如果要将< code>items反序列化为数组,JSON应该如下所示:
{
"wgcTournaments": {
"items": [
{
"jcr:primaryType": "nt:unstructured",
"item0": {},
"item1": {},
"item2": {},
"item3": {}
}
]
}
}
否则,如果您的JSON是正确的,您应该使用以下行反序列化您的JSON:
path.getObject("wgcTournaments.items", MyClass.class)
编辑:编辑后,这似乎是你想要的:
如果您的JSON是正确的,并且您确实想要一个数组,我假设每个< code>itemX都是一个键和< code>{}相应的值。在这种情况下,你必须知道你不能在JSON中有一个关联数组,你应该使用一个定制的解决方案来反序列化它,因为你的关联数组将被转换成一个对象。
最后,我找到了我的问题的解决方案。
如果要从项目中获取项目,则需要使用这个 json 路径
path.getObject("wgcTournaments.items*.
find{it.key.startsWith('item')}.value",ItemClass[].class);
注意:这是RestAssured,他使用了Gpath,您可以在这里找到更多详细信息http://docs.groovy-lang.org/latest/html/documentation/#_gpath
首先我创建一个管理员用户和两个模型 之后,我手动将我的管理员用户分配给两个TCU。 第一个Tcu有三个位置数据: 第二个Tcu有两个位置数据: 之后,我创建一个视图,以获得两个TCU的最后位置。 结果是我只得到第二个TCU的最后一个位置: 如何从第一个和第二个TCU获取最后一个位置?
问题内容: 我有一个JSON数组,我想根据名称和字母顺序对其进行排序。我的Json如下。 如您所见,我有一个键值“名称”,因此我得到了尊敬的名称。我想完全基于该名称对Json数组进行排序,并且也按字母顺序排序。 问题答案: 转换为并使用集合对您的数组列表进行排序 例如 :
我有这个json: 我想使用通过其名称查找元素“foo”(“foo”) 我尝试了类似 但它似乎不起作用(我检查了 https://jsonpath.com)
问题内容: 您好,有人可以告诉我此查询出了什么问题。 我得到的错误是 您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以获取在’(@json,’$ [*]’COLUMNS(name VARCHAR(40)PATH’$ .name’,’在第1行 仅出于信息目的,我使用TOAD作为工具将sql实例连接到云。 问题答案: 首先,在这种情况下,您无需在mysql中声明变量。只需使用“ SE
在这里json 如何使用库boost获得更新的值4? 我知道怎么取这样一个“ts”值。但是我不明白如何取两个括号的值
问题内容: 我正在尝试输出到Jackson JSON中的JSON对象。但是,我无法使用以下代码获取JSON对象。 程序运行后,该文件包含正确的JSON数据。但是,为空()。我查找了ObjectMapper的Javadoc,但找不到一种简便的方法来写入(杰克逊中的JSON对象)。没有像下面这样的方法: 如何直接写信给? 问题答案: 您需要改用ObjectMapper#valueToTree()。 这