如何在 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);
给出
{"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);