在,amazon-web-services,amazon-dynamodb,aws-sdk,aws-sdk-java-2.0"/>

首页 > 解决方案 > 如何在 Json 和 Map 之间进行转换

问题描述

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

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

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

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


请注意 - 这个问题是关于如何解决AWS Java SDK 2.0的问题,而不是 AWS Java SDK 1.n 的 dynamodbv2 模型。如果您认为这个问题是重复的,请仔细检查它重复的问题/答案的 SDK 版本。

标签: amazon-web-servicesamazon-dynamodbaws-sdkaws-sdk-java-2.0

解决方案


将 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);

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


推荐阅读