如何在 javascript/ 打字稿中重新映射 json 键值映射?

How to remap json key-value mapping in javascript/ typescript?

给出

{"a": {"name": "king", "firstname": "Thomas"},"b": {"age": "21"}}

我正在尝试找出一种将其转换为

的简单方法
{"name": "king","firstname": "Thomas","age": "21"}

在Javascript/Angular。也许有人有好主意,我将非常感激。 我正在尝试更改响应以使其适合 API 请求。

编辑:我更改了问题,我忘了说,我在第二级有多个键值对。

我想要实现的是摆脱 json 文件中的第一级密钥,因为我发送它的 API 没有这些,它只是使用第二层的钥匙

您可以尝试类似的方法:

const original = {"a": {"name": "thomas"},"b": {"age": "21"}}
const result = Object.values(original)

或者,如果您需要更多灵活性:

const original = {"a": {"name": "thomas"},"b": {"age": "21"}}
const result = []
Object.keys(original).forEach( key => result.push(original[key]) )

热烈的问候

这应该适合你。我向对象添加了第三个 属性 以向您展示如果您有两个具有相同 属性 的对象会发生什么(稍后迭代的那个会覆盖之前的那个,但是因为您不能依赖对象中的 属性 顺序,这可能会产生意想不到的结果)。如果您的 none 属性重复,则无需担心。

var data = {"a": {"name": "thomas"},"b": {"age": "21"},"c": {"age": "22"}};

// "c" will overwrite "b"
var converted = Object.keys(data).reduce((o, e) => Object.assign(o, data[e]), {});
// Object.keys(data) gives the array [“a”, “b”, “c”]
// Reduce that array to an object by assigning, to a new empty object,
// the properties of the objects found in each property of data

console.log(converted);