删除 DynamoDB 记录中的空字段

Removing null fields in the DynamoDB record

我正在以 Map 的形式从 DynamoDB table 读取数据。记录看起来像这样:-

{
    "name": {
        "s": "simran",
        "n": null,
        "b": null,
        "m": null,
        "l": null,
        "ss": null,
        "ns": null,
        "bs": null,
        "null": null,
        "bool": null
    },
    "id": {
        "s": "100",
        "n": null,
        "b": null,
        "m": null,
        "l": null,
        "ss": null,
        "ns": null,
        "bs": null,
        "null": null,
        "bool": null
    }
}

我想要实现的是:-

   {
        "name": {
            "S": "simran"
        },
        "id": {
            "S": "100"
        }
    }

第一个JSON是从这段代码中提取出来的:-

com.amazonaws.services.dynamodbv2.model.Record inputRecord=  inputRecord.getDynamodb().getNewImage()

是否有可用于将第一个 JSON 模型转换为第二个模型的 AWS SDK?如果我使用这个 toString(),我得到这种格式的 JSON(属性值后有不必要的尾随逗号),使 json 对于进一步解析无效:- { "name": { "s": "simran", }, "id": { "s": "100", } }

我使用 RecordMapper 序列化值。 https://github.com/awslabs/dynamodb-streams-kinesis-adapter/blob/master/src/main/java/com/amazonaws/services/dynamodbv2/streamsadapter/model/RecordObjectMapper.java

ObjectMapper objectMapper = new RecordObjectMapper();
objectMapper.writeValueAsString()