我知道DynamoDBMapper,但由于我事先不了解所有属性,因此无法使用它。
我有一个JSON,并使用Jackson
解析器将其解析为对象映射:
Map<String, Object> userData = mapper.readValue(new File("user.json"), Map.class);
遍历每个属性,鉴于DynamoDB
AttributeValue
支持 boolean 值,字符串,数字,字节,列表等,如何将值转换为AttributeValue
。有没有一种有效的方法可以做到这一点?已经有图书馆了吗?我的幼稚方法是检查每个值是否为Boolean/String/Number/etc类型。然后调用适当的
AttributeValue
方法,例如new AttributeValue().withN(value.toString())
-这使我的if, else if
行很长 最佳答案
最终通过查看AWS parses the JSON来弄清楚
基本上,这是代码:
Item item = new Item().withJSON("document", jsonStr);
Map<String,AttributeValue> attributes = InternalUtils.toAttributeValues(item);
return attributes.get("document").getM();
非常整洁。
关于java - DynamoDB-对象到AttributeValue,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27500749/