[英]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]) )
溫暖的問候
這應該為您工作。 我向對象添加了第三個屬性,以顯示如果您有兩個具有相同屬性的對象會發生什么(稍后迭代的對象將覆蓋之前的對象,但是由於您不能依賴對象中的屬性順序,因此可能會產生意外的結果)。 如果您的所有屬性都沒有重復,則無后顧之憂。
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.