java如何从JAXWS(JAX_RS)中的json请求中获取动态字段
我有一个api,我正在接收json格式的Java pojo请求:
{
"migrationId" : "32n2342342j";
"someDynamicField" : {"A" : "",
"B" : ""}
}
这个someDynamicField
可以有不同的属性名,我需要从中添加数据。
由于该字段是动态的,因此我无法为该模型创建类
但可以肯定的是someDynamicField
将是字符串类型,但名称将不同。
有一件事是可以确定的,someDynamicField
可以是有限集合中的字符串之一,例如:[“move”,“source”…]这一套将在未来发展壮大。
例如:
{
"migrationId" : "32n2342342j";
"move" : {"sourHost" : "",
"targetHost" : ""}
}
有时候可能是这样
{
"migrationId" : "32n2342342j";
"delete" : {"sourHost" : "",
"targetHost" : ""}
}
从请求中提取这些信息的最佳方式是什么?
我试着看这个:How to map dynamic JSON in JAX-RS
这里他们显式地使用可变名称,在我的例子中,字段是动态的
# 1 楼答案
我会用一个字符串而不是一个对象,然后用Jackson解析它。这不是完整的代码,但类似于:
关键是在JAX-RS方法中获取一个字符串,然后自己解析它