删除 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()
我正在以 Map
{
"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()