我的目标是递归解析来自 dynamo.getItem
方法的 DynamoDB
请求。
不幸的是,我在 Node.js 的 DynamoDB SDK 中找不到类似的方法。
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html
我正在寻找一种从结果中删除类型的有效方法。在 DynamoDB 中,键是属性的单字母名称,例如“N”、“S”、“M”。
这些类型的描述:
N means DynamoDB Number type
S means dynamoDB String type
M means DynamoDB Map type (object with properties)
当前的 JSON 结构是:
{
"id":{
"N":"4"
},
"number":{
"N":"1"
},
"data":{
"M":{
"aaa":{
"S":"AAA"
},
"lv2":{
"M":{
"lv3":{
"M":{
"ccc":{
"N":"111"
}
}
},
"bbb":{
"S":"BBB"
}
}
}
}
}
}
我需要一个将上述 JSON 映射到较短版本的 JavaScript 函数:
{
"id": "4",
"number": "1",
"data": {
"aaa": "AAA",
"lv2": {
"lv3": {
"ccc": "111"
},
"bbb": "BBB"
}
}
}
这通常是一个 JavaScript 问题,但我想有 DynamoDB 经验的人可能知道如何处理这个问题。
有什么想法吗?
最佳答案
aws-sdk 现在支持使用 AWS.DynamoDB.Converter
编码/解码数据。
在此处查看文档:
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/Converter.html
2018 年 1 月 7 日更新:此转换器代码内置于 AWS.DynamoDB.DocumentClient
中,因此无需使用 Converter.marshall
和 Converter。直接解码
。看:
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html
关于javascript - 解析 DynamoDB 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27966910/