如何去除JSON键名中的空格?附输入输出示例
嘿,这个需求太常见了!我来给你分享几种实用的解决方案,覆盖Python和JavaScript这俩最常用的JSON处理场景,直接就能套用:
Python 实现方案
如果你用Python处理JSON,可以通过解析字典、重命名键名的方式轻松实现:
import json def normalize_json_keys(json_input): # 把JSON字符串转成Python字典 raw_data = json.loads(json_input) cleaned_dict = {} for original_key, value in raw_data.items(): # 处理键名:拆分后每个单词首字母大写,再拼接(自动移除空格) # split() 默认处理任意空白字符(多个空格、制表符都没问题) processed_key = ''.join(word.capitalize() for word in original_key.split()) cleaned_dict[processed_key] = value # 转回JSON字符串 return json.dumps(cleaned_dict) # 测试你的示例 sample_input = '{"Contact Title": "Owner Name"}' result = normalize_json_keys(sample_input) print(result) # 输出:{"ContactTitle": "Owner Name"}
JavaScript 实现方案
前端或者Node.js环境下,可以这么写:
function cleanJsonKeyNames(jsonString) { const parsedData = JSON.parse(jsonString); const cleanedData = {}; Object.entries(parsedData).forEach(([oldKey, value]) => { // 拆分键名,处理成无空格的驼峰式 const newKey = oldKey.split(/\s+/).map(word => word.charAt(0).toUpperCase() + word.slice(1) ).join(''); cleanedData[newKey] = value; }); return JSON.stringify(cleanedData); } # 测试示例 const input = '{"Contact Title": "Owner Name"}'; const output = cleanJsonKeyNames(input); console.log(output); // 输出:{"ContactTitle":"Owner Name"}
额外说明
- 如果你的键名里有多个连续空格或者制表符,上面的代码也能完美处理(Python用
split()、JavaScript用/\s+/正则分割) - 要是你想把键名转成下划线命名(比如
contact_title),只需要把拼接逻辑改成用下划线连接小写单词就行,比如Python里改成'_'.join(word.lower() for word in original_key.split())
内容的提问来源于stack exchange,提问作者Parthiban Sanjeevi Arumugam
相关产品推荐
相关产品推荐

