java映射JSON与Map和Normal对象
我得到以下JSON
{
'routers':
{
'external_gateway_info':{ },
'description':'',
'gw_port_id':'1f290c84-02fe-4bdb-a063-77a425cc10f5',
'tenant_name':'lmco-test'
},
'tenants':{
'82d1df3fcfc14ac594c6f5c5b6dcad6a':'lmco-test',
'6eb4b2dd40dc4d63a3c8a691c371dd06':'admin',
'10b0726823784ceca219821d44a2b5d1':'ivs-perf',
'VRRP_Service':'VRRP_Service',
'8fb76703c3084308a01d113751560730':'service'
}
}
现在,路由器是一个简单的对象,在这里我将键/值映射到我的类路由器。java,但租户是一个HashMap。 我无法找到一种方法,可以使用单个映射器将路由器和租户映射到单个对象
我的制图器
JSONObject jsonData = new JsonRepresentation(entity).getJsonObject();
RootModel rootModel = mapper.readValue(jsonData.toString(), RootModel.class);
根在哪里。java代码片段
public class RootModel {
private Router routers;
private Tenant tenants;
public RootModel(@JsonP
...
...
}
# 1 楼答案
你的路由器课程会是这样的
而你的RootModel会是
只需将租户转换为HashMap,就可以了。希望这对你有帮助
# 2 楼答案
显然,没有更干净的方法来使用一张地图来处理此类数据。我使用了两个不同的映射器来映射路由器和租户