NiFi中移除JSON字段numero前导零的技术求助
移除JSON中
numero字段的前导零解决方案 以下是几种不同场景下的可行解决方案,涵盖常用编程语言和命令行工具:
Python 实现
适合在Python脚本中处理JSON数据,兼顾全零场景的处理:
import json # 加载原始JSON数据 raw_data = ''' { "cnpjemitente" : "48791685000168", "numero" : "001262851", "chavenfe" : "35221148791685000168550030012628511100259840", "serie" : "3 " } ''' # 解析JSON为字典 data = json.loads(raw_data) # 移除numero字段的前导零,若全为零则保留单个0 data['numero'] = data['numero'].lstrip('0') or '0' # 输出格式化后的JSON print(json.dumps(data, indent=2))
JavaScript 实现
适用于前端或Node.js环境:
const rawJson = `{ "cnpjemitente" : "48791685000168", "numero" : "001262851", "chavenfe" : "35221148791685000168550030012628511100259840", "serie" : "3 " }`; const data = JSON.parse(rawJson); // 用正则替换开头的所有零,全零情况保留单个0 data.numero = data.numero.replace(/^0+/, '') || '0'; console.log(JSON.stringify(data, null, 2));
命令行工具 jq 实现
适合直接在终端处理JSON文件:
# 假设原始数据存储在input.json中,处理后输出到output.json jq '.numero |= sub("^0+"; "") | if .numero == "" then .numero = "0" else . end' input.json > output.json
内容的提问来源于stack exchange,提问作者Rodrigo Hajime Himauari
相关产品推荐
相关产品推荐

