javascript解析不同的JSON响应,而不使用Java中的POJO类
我正在用Java解析来自RESTAPI的JSON响应,但我不想为每个响应创建一个Java类(POJO)(响应具有不同的数据结构和字段)。Java中是否有一个更通用的JSON解析器类似于JavaScript的简单语法
下面的JSON只是众多REST端点之一的结果
{
"f1" : "volume",
"f2" : "gender",
"f3" : "days",
"f4" : [{
"id" : "F",
"name" : "female",
"values" : [{
"name" : "September",
"value" : 12
}
]
}, {
"id" : "M",
"name" : "male",
"values" : [{
"name" : "September",
"value" : 11
}
]
}
]
}
在JavaScript中,要访问女性的值:
jsonRoot.f4[0].values[0].value
这比创建大量Java类更简洁。你能提出一些类似的建议或避免创建许多POJO的方法吗
# 1 楼答案
Jackson映射到
Map<String, Object>
也可以:为此定义POJO对象的价值在于静态类型检查,我仍然建议这样做
# 2 楼答案
您可以使用
org.json
库如果使用maven:
或者下载jar:http://mvnrepository.com/artifact/org.json/json
Java示例:
您还可以访问阵列
然后迭代它
# 3 楼答案
如果你导入了com的罐子。谷歌。gson。您可以得到如下值:
# 4 楼答案
如果使用Jquery,Jquery中有一个parseJson()函数
# 5 楼答案
more example
json-simple.jar