Java 如何使用JSON动态创建POJO?
我有多个动态json模板,如下所示 JSON 1Java 如何使用JSON动态创建POJO?,java,json,jackson,Java,Json,Jackson,我有多个动态json模板,如下所示 JSON 1 { "param1": "testuser1", "param2": "testuser1@gmail.com" } JSON 2 { "param1": "testuser2", "param2": "testuser2@gmail.com", "param3": "New York" } JSON 3 { "param1": "testuser3" "pa
{
"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转换为对象(对象类),但如何创建通用POJO或如何使用setter getter动态创建POJO?您可能希望将json文档反序列化为
映射
,或者使用Jackson树模型,如下所示:
TypeReference type=newtypereference(){};
Map=mapper.readValue(json,类型);
JsonNode-JsonNode=mapper.readTree(json);
为什么不能使用JsonNode类?是的,我们不知道json的内容。这就是使用JsonNode和JsonObject类的要点。如果您不介意使用外部库,可以查看[jsonschema2pojo][1][1]:如果对象的用户在编译时不知道其中存在哪些字段,那么您应该如何访问此POJO中的字段?@user12290051您为什么认为需要动态创建一个类?实际上,我正在使用smooks framework从json创建edi文件,但smooks框架表示,在转换为edi或任何其他格式时定义了POJO。我创建了一个将json转换为edi的示例,但我希望将动态json文件转换为edi。所以我在寻找我是否能做到这一点?我试着思考,但没有luck@user12290051你试过上面描述的地图方法吗?是的,我试过了,谢谢,但是如何在smooks中使用这个需要检查。。