如何在javascript/typescript中重新映射json键值映射?

如何在javascript/typescript中重新映射json键值映射?,javascript,json,angular,mapping,key-value,Javascript,Json,Angular,Mapping,Key Value,给定 我想找出一个简单的方法把它转换成 {"a": {"name": "king", "firstname": "Thomas"},"b": {"age": "21"}} 在Javascript/Angular中。也许有人有个好主意,我会非常感激的。 我正在尝试更改响应,使其适合API请求 编辑:我更改了问题,我忘了提到,我在第二级中有多个键值对 我试图实现的是去掉json文件中的第一级键,因为我发送给它的API没有这些键,它只是在第二级使用键。您可以尝试以下方法: {"name": "kin

给定

我想找出一个简单的方法把它转换成

{"a": {"name": "king", "firstname": "Thomas"},"b": {"age": "21"}}
在Javascript/Angular中。也许有人有个好主意,我会非常感激的。 我正在尝试更改响应,使其适合API请求


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


我试图实现的是去掉json文件中的第一级键,因为我发送给它的API没有这些键,它只是在第二级使用键。您可以尝试以下方法:

{"name": "king","firstname": "Thomas","age": "21"}
或者,如果您需要更大的灵活性:

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

向您致以亲切的问候

这应该适合您。我在对象中添加了第三个属性,以向您展示如果有两个具有相同属性的对象时会发生什么(稍后迭代的对象将覆盖之前的对象,但由于您不能依赖对象中的属性顺序,因此这可能会产生意外的结果)。如果你的所有财产都没有被复制,那就不用担心了

var data={“a”:{“name”:“thomas”},“b”:{“age”:“21”},“c”:{“age”:“22”};
//“c”将覆盖“b”
var converted=Object.keys(data).reduce((o,e)=>Object.assign(o,data[e]),{});
//键(数据)给出数组[“a”、“b”、“c”]
//通过将数组指定给新的空对象,将该数组缩减为对象,
//在数据的每个属性中找到的对象的属性

console.log(已转换)请看一看:对我来说它起作用了。只有“Object.values”不适用于所有浏览器。我更改了问题,忘了提一下,我在第二级中有多个键值对。但是非常感谢你的邀请!我试图实现的是去掉json文件中的第一级键,因为我发送给它的API没有这些键,它只在第二级使用键。你能简单地解释一下你的代码在做什么吗?
const original = {"a": {"name": "thomas"},"b": {"age": "21"}}
const result = []
Object.keys(original).forEach( key => result.push(original[key]) )