为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过TypeScript或JavaScript映射JSON结构以重新格式化并删除一些不需

如何通过TypeScript或JavaScript映射JSON结构以重新格式化并删除一些不需

Cats萌萌 2021-04-17 13:15:43
我收到来自添加了M和SS的数据库(DynamoDB)的响应。我只想要一个干净的结构。映射出来的最简单方法是什么?输入[{"M":{"usernameFormatOptionsCreate":{"SS":["sms"]}}},{"M":{"UsernameFormatOptionsChange":{"SS":["sms"]}}}]预期产量[ { "usernameFormatOptionsCreate": ["sms"] },{ "usernameFormatOptionsChange": ["sms"] }]
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

您可以使用Object.keys和Object.values获取第一个键和值,如下所示


let arr = [{"M": {"usernameFormatOptionsCreate": {"SS": ["sms"]}}}, {"M": {"UsernameFormatOptionsChange": {"SS": ["sms"]}}}];

let output = arr.map(function(c){

  let key = Object.keys(c.M)[0];

  let value = Object.values(c.M[key])[0];

  let result = {};

  result[key] = value;

  return result;

});

console.log(output)


查看完整回答
反对 回复 2021-04-29
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

let input = [{"M": {"usernameFormatOptionsCreate": {"SS": ["sms"]}}}, {"M": {"UsernameFormatOptionsChange": {"SS": ["sms"]}}}];

let output = input.map(({M}) => {

  let y = {};

  Object.entries(M).forEach(([key, {SS}]) => {

    y[key] = SS;

  });

  return y;

});


console.log(output);


查看完整回答
反对 回复 2021-04-29
  • 2 回答
  • 0 关注
  • 285 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信