我正在使用dynamodb交易。交易放置请求将 com.amazonaws.services.dynamodbv2.document.Item 作为输入参数。因此,我需要将 POJO 转换为 Map 。
到目前为止,我已经尝试使用Jackson将对象转换为字符串,然后将字符串转换为项目。 下面是我尝试过的代码。
ObjectMapper objectMapper = new ObjectMapper();
String jsonStr = null;
try {
jsonStr = objectMapper.writeValueAsString(object);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
Item item = new Item().withJSON("document", jsonStr);
Map<String,AttributeValue> attributes = ItemUtils.toAttributeValues(item);
return attributes.get("document").getM();
问题是,“设置”类型的字段在转换后返回“列表”。 有什么建议可以克服这个问题吗?
答案 0 :(得分:0)
下面的代码应该可以解决您的转换问题:
Map<String, AttributeValue> valueMap = ItemUtils.toAttributeValues(item);
CustomEntity entity = dynamoDBMapper.marshallIntoObject(CustomEntity.class, valueMap);