【发布时间】:2020-02-18 10:04:43
【问题描述】:
我有多个动态 json 模板,如下所示
JSON 1
{
"param1": "testuser1",
"param2": "testuser1@gmail.com"
}
JSON 2
{
"param1": "testuser2",
"param2": "testuser2@gmail.com",
"param3": "New York"
}
JSON 3
{
"param1": "testuser3"
"param2": "testuser3@gmail.com",
"param3": "New York",
"param4": [
{
"sub-param1": "X",
"sub-param2": "Y"
},
{
"param1": "testuser",
"param2": "testuser@gmail.com"
}
]
}
我想在运行时将它们转换为 JAVA 对象,即在编译时不创建 POJO。这可能吗 ?如果是,该怎么做?
我尝试使用Jackson lib将json转换为对象(Object Class),但是如何创建通用的通用POJO或如何使用setter getter动态创建POJO?
【问题讨论】:
-
为什么不能使用JsonNode类?
-
是的,我们不知道 json 的内容。
-
这就是使用 JsonNode 和 JsonObject 类的重点
-
如果你不介意使用外部库,可以看看[jsonschema2pojo][1] [1]:github.com/joelittlejohn/jsonschema2pojo/wiki/…
-
如果对象在编译时的用户不知道其中存在哪些字段,你应该如何访问此POJO中的字段是吗?