如何基于JSON数组x[3]项的键值映射批量替换全局对应键名
实现方案
核心思路
- 先提取数组索引为3的对象作为键名替换映射表
- 遍历原JSON数组的所有对象,逐个替换对象的键名:匹配到映射表的键就用对应值作为新键,没有匹配到的保留原键
- 不要直接修改正在遍历的对象键名,先创建新对象存储替换后的键值对,避免遍历异常
代码实现(JavaScript示例)
// 你的原始JSON数据存储在rawData变量中 const rawData = [/* 此处填写你给出的完整JSON数组 */]; // 1. 提取替换映射表 const replaceMap = rawData[3]; // 2. 遍历所有对象完成键名替换 const processedData = rawData.map(item => { const newItem = {}; for (const [key, value] of Object.entries(item)) { // 匹配到映射则用映射值做新键,未匹配则保留原键 const newKey = replaceMap.hasOwnProperty(key) ? replaceMap[key] : key; newItem[newKey] = value; } return newItem; }); // processedData即为替换完成的结果 console.log(processedData);
补充说明
- 映射表中不存在的键(例如
Roster Reports、#untitled--19、#untitled等)会原样保留,不会被修改 - 如果你使用其他编程语言,逻辑完全一致:先取映射表,再遍历所有对象替换键名即可
内容的提问来源于stack exchange,提问作者Craig Johnstone
相关产品推荐
相关产品推荐

