如何移除JSON键名中的序号与对应点号前缀?
实现方案
核心思路
- 将原始JSON反序列化为对应语言的字典/对象结构
- 遍历
Realtime Currency Exchange Rate节点下的所有键值对,用正则^\d+\.\s*匹配键名开头的数字序号、点号和后续可选空格,替换为空得到新键 - 用处理后的键值对替换原节点内容,再序列化回JSON格式即可
Python 实现示例
import json import re # 加载原始JSON with open("raw.json", "r", encoding="utf-8") as f: data = json.load(f) rate_node = data["Realtime Currency Exchange Rate"] processed_node = {} for old_key, val in rate_node.items(): # 去除序号前缀 new_key = re.sub(r"^\d+\.\s*", "", old_key) processed_node[new_key] = val data["Realtime Currency Exchange Rate"] = processed_node # 输出处理后的JSON with open("processed.json", "w", encoding="utf-8") as f: json.dump(data, f, indent=4, ensure_ascii=False)
JavaScript 实现示例
const fs = require('fs') // 读取原始JSON const rawData = fs.readFileSync('raw.json', 'utf-8') const data = JSON.parse(rawData) const rateNode = data["Realtime Currency Exchange Rate"] const processedNode = {} for (const oldKey in rateNode) { if (Object.prototype.hasOwnProperty.call(rateNode, oldKey)) { // 去除序号前缀 const newKey = oldKey.replace(/^\d+\.\s*/, '') processedNode[newKey] = rateNode[oldKey] } } data["Realtime Currency Exchange Rate"] = processedNode // 输出处理后的JSON fs.writeFileSync('processed.json', JSON.stringify(data, null, 4), 'utf-8')
内容的提问来源于stack exchange,提问作者natoahs
相关产品推荐
相关产品推荐

