获取仅具有键值对作为输入的对象的 java.util.Set,如下所示
public class KeyValueObject {
String key;
String value;
// good old constructor, setters and getters
}
输入对象: java.util.Set inputObject;
KeyValuePair pair1 = new KeyValuePair("Name":"John");
KeyValuePair pair2 = new KeyValuePair("Age":"28");
KeyValuePair pair3 = new KeyValuePair("Location":"Cincinnati");
inputObject.add(pair1);
inputObject.add(pair2);
inputObject.add(pair3);
将“inputObject”作为传入的请求,如何将其转换为简单的 POJO 对象,该对象具有上述所有键作为单独的参数,如下所示:
Public class SimplePojoObject {
private String name;
private String age;
private String location;
// Good old setters and getters
}
传入对象大约有 52 个对象,这就是为什么手动映射方式不是解决此问题的正确方法。请建议映射此数据的任何可能的方法
最佳答案
你可以这样做:
- 转换
Set<KeyValueObject>
到JsonNode
(或Map<String, String>
)对象。 - 转换生成的
JsonNode
(或Map<String, String>
)反对SimplePojoObject
使用ObjectMapper
(您也可以使用Gson库代替ObjectMapper)
如果您已经有 Map<String, String>
对象而不是 Set<KeyValueObject>
那么你只需一行即可完成:
SimplePojoObject simplePojoObject = new ObjectMapper().convertValue(map, SimplePojoObject.class);
关于java - 将 java.util.Set of <key,value> 对象转换为简单的 pojo 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51181741/