首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将DynamoDb字符串集转换为JSON

将DynamoDb字符串集转换为JSON
EN

Stack Overflow用户
提问于 2019-07-09 02:40:25
回答 1查看 1.3K关注 0票数 0

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

代码语言:javascript
复制
permissions:
       Set {
         wrapperName: 'Set',
         values:
          [ 'BannerConfigReadOnly',
            'CampaignBannerCreate',
            'CampaignPromoCreate',
            'CampaignReadOnly',
            'MasterplanReadOnly',
            'SegmentCreate',
            'SegmentDownload',
            'SegmentUpload' ],
         type: 'String' } 
    }

现在,我使用aws.DynamoDB.Converter.unmarshal函数将其转换为以下格式

代码语言:javascript
复制
permissions: ['BannerConfigReadOnly',
            'CampaignBannerCreate',
            'CampaignPromoCreate',
            'CampaignReadOnly',
            'MasterplanReadOnly',
            'SegmentCreate',
            'SegmentDownload',
            'SegmentUpload']

但是,这就是我得到的

代码语言:javascript
复制
{}

有什么想法吗,我可能做错了。

这是我的代码

代码语言:javascript
复制
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是这样的

代码语言:javascript
复制
{ email: 'abc@gmail.com',
  tenant: 'Canada',
  permissions:
   Set {
     wrapperName: 'Set',
     values:
      [ 'BannerConfigReadOnly',
        'CampaignBannerCreate',
        'CampaignPromoCreate',
        'CampaignReadOnly',],
     type: 'String' } }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-09 03:01:39

由于您使用的是DocumentClient,因此该数据已经解组。考虑只使用processedItems[0].permissions.values来获取集合的值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56940819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档