色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

json扁平化

黃文隆1年前8瀏覽0評論

JSON是一種常用的數據交換格式,經常會被用于數據傳輸和存儲。但是,有時候我們需要把JSON做扁平化處理,以便于使用和分析。下面我們來看看如何實現JSON的扁平化。

所謂JSON扁平化,就是把多層嵌套的JSON對象轉換為只有一層的JSON對象。比如,將這樣的JSON:

{
"user": {
"name": "Alice",
"age": 20,
"address": {
"city": "Shanghai",
"country": "China"
}
}
}

轉換成如下形式:

{
"user.name": "Alice",
"user.age": 20,
"user.address.city": "Shanghai",
"user.address.country": "China"
}

實現方法如下:

function flatten(obj, prefix = '') {
return Object.keys(obj).reduce((acc, k) => {
const pre = prefix.length ? prefix + '.' : '';
if (typeof obj[k] === 'object' && obj[k] !== null && !Array.isArray(obj[k])) {
Object.assign(acc, flatten(obj[k], pre + k));
} else {
acc[pre + k] = obj[k];
}
return acc;
}, {});
}

以上代碼使用了遞歸的方法,遍歷JSON對象的所有屬性。如果屬性的值是一個對象,就遞歸調用flatten函數;否則,將屬性的名字和值作為一條記錄添加到結果中。

使用flatten函數,我們可以很方便地將任意JSON對象做扁平化處理,適用于傳輸、存儲和數據分析等場景。