我有一个像这样的 json 字符串:
"files": {
"fileA.c": {
"size": 100
},
"fileB.txt": {
"size": 200
}
}
我想使用 JsonPath 提取文件名 {"fileA.c","fileB.txt"} 。请注意,文件数量未知。
问题是,我不知道文件名是键还是值:
- 如果它是一个 key ...那么我当然不知道 key 名称,因为这是我想要提取的信息。
- 如果它是一个值,那么它的键是什么?
- 我可以使用 JsonPath 提取文件名吗?如果是这样,怎么办?
- 如果 JsonPath 无法做到这一点,是否有 Json 的 Java 库可以实现这一点?
最佳答案
在您的示例中,fileA.c 和 fileB.txt 是键,您可以通过迭代封闭对象(由键“files”引用)中的键来获取它们。
我认为 JSONPath 在这种情况下并不真正合适(甚至适用),它旨在当您知道文档的结构时访问元素,这意味着您基本上知道键。简单地使用 JSON 解析器会容易得多。
关于java - 使用 JsonPath 在不知道键的情况下提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22043030/