javascript - 将 DynamoDb 字符串集转换为 JSON

标签 javascript node.js amazon-dynamodb aws-sdk unmarshalling

这是从 DynamoDb 返回的 StringSet 类型的字段之一。

permissions:
       Set {
         wrapperName: 'Set',
         values:
          [ 'BannerConfigReadOnly',
            'CampaignBannerCreate',
            'CampaignPromoCreate',
            'CampaignReadOnly',
            'MasterplanReadOnly',
            'SegmentCreate',
            'SegmentDownload',
            'SegmentUpload' ],
         type: 'String' } 
    }

现在,我正在使用 aws.DynamoDB.Converter.unmarshal 函数来获取此格式

permissions: ['BannerConfigReadOnly',
            'CampaignBannerCreate',
            'CampaignPromoCreate',
            'CampaignReadOnly',
            'MasterplanReadOnly',
            'SegmentCreate',
            'SegmentDownload',
            'SegmentUpload']

但是,这就是我得到的

{}

任何想法,我可能做错了。

这是我的代码

const aws = require('aws-sdk');
const documentClient = new aws.DynamoDB.DocumentClient();
documentClient.scan(params, (err, data) => {
    if (err) {
      reject(err);
    } else {
      let processedItems = [...data.Items];
    var test = aws.DynamoDB.Converter.unmarshall(processedItems[0].permissions);
      console.log(`test is ${JSON.stringify(test)}`);
    }});

ProcessedItems[0]是这个

{ email: 'abc@gmail.com',
  tenant: 'Canada',
  permissions:
   Set {
     wrapperName: 'Set',
     values:
      [ 'BannerConfigReadOnly',
        'CampaignBannerCreate',
        'CampaignPromoCreate',
        'CampaignReadOnly',],
     type: 'String' } }

最佳答案

由于您正在使用 DocumentClient,因此该数据已被解码。考虑仅使用processedItems[0].permissions.values来获取集合的值。

关于javascript - 将 DynamoDb 字符串集转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56940819/

相关文章:

javascript - Javascript 关闭问题

javascript - 使用 x-amz-tagging 请求 header 指定标签

javascript - 如何将异步等待放入循环中?不工作

amazon-web-services - 避免节流dynamoDB

javascript - 使用基于 AWS Cognito 和 IAM 角色的 AWS DynamoDB 直接从客户端(Web 应用程序)访问的安全漏洞是什么

android - 从线程中获取字符串值

javascript - 相对于当前位置滚动 Jquery

javascript - 在 Meteor.js 中动态加载模板

javascript - 谷歌地图 API : How do you ensure that the Google Maps Autocomplete text is an actual address before submitting?

javascript - 我无法编辑 Selenium Standalone 上的超时