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