java - 将 java.util.Set of <key,value> 对象转换为简单的 pojo 对象

标签 java collections set mapping

获取仅具有键值对作为输入的对象的 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/

相关文章:

java - 如何将表格转换为 map 的 map

kotlin - linkedSetOf 和 hashSetOf 有什么区别?

Java 8 : Get files from folder/subfolder

python - 在 Python 中打印集合时删除集合标识符

java - 迭代字符串并使用 .equals 将结果与另一个字符串进行比较 (Java)

java - InputMethodService 中的 startActivity 后 EditorInfo 为 null

java - 从流中手动提取 EXIF 并将其附加到 JPEG 文件

java - 从一个列表复制到另一个

python - 在打印相应值时跳过特定迭代的重复值 - 我的最终目标是将其写入 CSV 文件

C++ std::从 std::deque 复制到 std:;set