java中json文档中指向叶节点的所有路径的输出列表
例如:给定这个json文档:
{
"store": {
"book": [
{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
},
{
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
},
],
"bicycle": {
"color": "red",
"price": 19.95
}
},
"expensive": 10
}
我想制作(类似)这样的输出:
store.book.category: "reference"
store.book.author: "Nigel Rees"
store.book.title: "Sayings of the Century"
store.book.price: 8.95
store.book.category: "fiction"
store.book.author: "Herman Melville"
store.book.title: "Moby Dick"
store.book.isbn: "0-553-21311-3"
store.book.price: 8.99
store.bicycle.color: "red"
store.bicycle.price: 19.95
expensive:10
我更喜欢基于一个健壮的json库(gson、jackson等)的高效解决方案,而不是从原始文本开始工作
# 1 楼答案
事实证明,使用Gson很容易做到这一点,尤其是使用JsonReader。2.3中介绍的getPath()方法
# 2 楼答案
下面是一个带有
org.json
的示例代码。但同样的方法也可以用于Gson/Jackson,并在这些库中更改相应的类型。这里的键也可以使用StringBuilder
而不是字符串