如何在 Json 和 Map<String, AttributeValue> 之间进行转换

Mat*_*ope 9 amazon-web-services amazon-dynamodb aws-sdk aws-sdk-java-2.0

我想使用 AWS Java SDK 2.0 将编码为 Json 字符串的对象保存到 DynamoDB。

\n\n

在 AWS Java SDK 1.n 中,可以AttributeValues使用Item.fromJSON(myJsonString).toAttributeValues().

\n\n

虽然可以同时使用两个 SDK,但AttributeValue两个 SDK 版本(1.112.0)的定义不相同,不能互换使用。

\n\n

是否有 AWS 提供的或社区标准的方法可以将 json 字符串/blob 转换Map<String, AttributeValue>为 AWS Java SDK 2.0?

\n\n
\n\n

请注意\xe2\x80\x94此问题询问如何解决AWS Java SDK 2.0的问题,而不是 AWS Java SDK 1.n 的 dynamodbv2 模型。如果您认为此问题重复,请仔细检查重复问题/答案的 SDK 版本。

\n

Naz*_*eel -1

将 JSON 转换为 DynamoDB 的 AttributeValue 的示例

    String productString = readFileFromResources("data/categoryFix.json");
    HashMap<String,Object> result = new ObjectMapper().readValue(productString, HashMap.class);
    Map<String, AttributeValue> attributes = InternalUtils.fromSimpleMap(result);
Run Code Online (Sandbox Code Playgroud)

上面的代码运行良好,尽管 InternalUtils 已被弃用。