将对象变换到另一个对象中

Raf*_*lho 1 javascript object node.js

任何人都可以帮助我处理这个对象吗?我将收到这样的对象:

NewImage: {
          sourceId: {
            S: "some_string"
          },
          ignored: {
            BOOL: false
          },
          stepFunctionArn: {
            S: "some_string"
          },
          certificate: {
            BOOL: true
          },
          infoNeeded: {
            L: [
              "Array"
            ]
          },
          queuesLinks: {
            M: [
              "Object"
            ]
          },
        }
Run Code Online (Sandbox Code Playgroud)

如何删除每个值之前的“S”、“BOOL”?我需要一个像这样的对象:

NewImage: {
  sourceId: "some_string",
  ignored: false,
  stepFunctionArn: "some_string"
  ...
}
Run Code Online (Sandbox Code Playgroud)

我需要创建一个函数来转换该对象,就像我上面解释的那样。有任何想法吗?谢谢您的帮助 : )

Nin*_*olz 6

只需从嵌套对象中获取值即可。

const
    data = { sourceId: { S: "some_string" }, ignored: { BOOL: false }, stepFunctionArn: { S: "some_string" }, certificate: { BOOL: true }, infoNeeded: { L: ["Array"] }, queuesLinks: { M: ["Object"] } },
    result = Object.fromEntries(Object
        .entries(data)
        .map(([k, o]) => [k, Object.values(o)[0]])
    );

console.log(result);
Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }
Run Code Online (Sandbox Code Playgroud)