我知道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/

10-10 00:42