javascript - 解析 DynamoDB 请求

标签 javascript json node.js amazon-web-services amazon-dynamodb

我的目标是递归解析来自 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.marshallConverter。直接解码。看: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html

关于javascript - 解析 DynamoDB 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27966910/

相关文章:

javascript - 如何在最后一张幻灯片后停止动画?

javascript - 在 nodeJS 中验证 Identity Server 3/4 哈希

c# - 自定义 JSON 编码结构

json - 根据其他字段指定的类型读取 JSON 字段

javascript - 将远程文件读取到浏览器中的 Node 缓冲区中

javascript - 在我的 CSS 中获得随机变量模糊

Javascript addEventListener 以某种方式无法在 Laravel 中使用 querySelector

javascript - 从表单构建 JSON 对象

javascript - Node.js 流可读.read 重复调用

javascript - 使用 bluebird Promise 时,then() 没有被调用