欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

json打平代碼

盧秋海1年前5瀏覽0評論

在現代web開發中,JSON是一種非常常見的數據交換格式。然而,在處理嵌套JSON對象時,我們可能需要對其進行“打平”,以便更輕松地使用和分析數據。下面介紹一些用于打平JSON的常見代碼技巧。

// 示例JSON對象
const jsonObj = {
name: {
first: "John",
last: "Doe"
},
age: 30,
address: {
city: "New York",
state: "NY",
country: "USA"
}
};
// 方法1:使用遞歸函數打平JSON對象
function flattenJson(jsonObj, prefix = '') {
let flatJson = {};
for (let key in jsonObj) {
if (jsonObj.hasOwnProperty(key)) {
let newKey = prefix + key;
if (typeof jsonObj[key] === 'object') {
Object.assign(flatJson, flattenJson(jsonObj[key], newKey + '.'));
} else {
flatJson[newKey] = jsonObj[key];
}
}
}
return flatJson;
}
// 使用方法1打平示例JSON對象
const flatJson1 = flattenJson(jsonObj);
console.log(flatJson1);
// 方法2:使用ES6的map和reduce函數打平JSON對象
function flattenJson2(jsonObj) {
const flatMap = (obj, prefix = '') =>
Object.entries(obj).map(([key, val]) =>
typeof val === 'object' ? flatMap(val, `${prefix}${key}.`) : { [`${prefix}${key}`]: val }
);
return Object.assign({}, ...flatMap(jsonObj));
}
// 使用方法2打平示例JSON對象
const flatJson2 = flattenJson2(jsonObj);
console.log(flatJson2);

以上代碼示例展示了兩種常見的打平JSON的方式。第一種是使用遞歸函數逐層打平,第二種是使用ES6的map和reduce函數。不同的應用場景可能適合不同的代碼方式,選擇合適的方法可以使打平JSON的過程更加高效和方便。