使用 Jackson 注释,我需要为以下对象创建一个 Java POJO 以发送到 REST API。 API 需要映射到空对象的 tcp 端口列表,如下所示:
{
"ExposedPorts": {
"22/tcp": {},
"80/tcp": {}
}
}
最佳答案
使用嵌套映射来实现所需的结果。
class Ports{
private Map<String, Map<String, String>> ports = new HashMap<String, Map<String,String>>();
public void addPort(String port){
ports.put(port, new HashMap<String, String>());
}
public Map<String, Map<String, String>> getPorts() {
return ports;
}
public void setPorts(Map<String, Map<String, String>> ports) {
this.ports = ports;
}
}
测试用例
Ports p = new Ports();
p.addPort("22/tcp");
ObjectMapper om = new ObjectMapper();
om.writeValue(System.out, p); //Produce {"ports":{"22/tcp":{}}}
关于java - Jackson 2.x 将空对象序列化为属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33489500/