Notepad++怎么转换JSON键名的大小写

夜瑶同学_8309

夜瑶同学_8309

2026-10-30

147人浏览

原创

Notepad++可通过正则替换批量修改JSON键名大小写:先用"([a-z])([A-Z])"→"\1_\2"插入下划线,再全选按Ctrl+U转小写实现camelCase→snake_case;需确保键名规范(双引号包裹、无转义/跨行/注释),并注意该法会同步影响值中驼峰内容。

notepad++怎么转换json键名的大小写

用 Notepad++ 的正则替换批量改 JSON 键名大小写

Notepad++ 本身不识别 JSON 结构,不能像 IDE 那样“智能重命名键”,但只要键名格式规整(比如 "keyName" 这种双引号包裹的字符串),就能靠正则精准定位并转换大小写。

确保 JSON 键名符合正则可匹配模式

正则只对标准 JSON 键有效,常见失效场景包括:

  • 键名含转义双引号(如 "key\"name")→ 正则会提前截断
  • 键名用单引号或无引号('key' 或 key:)→ 不匹配 JSON 规范,"key" 才是合法键
  • 键名跨行(如 "key\nName")→ 默认正则不跨行,需开启 . matches newline
  • 注释存在(JSON 不允许注释,但有人手写带 // 的伪 JSON)→ 正则可能误匹配注释里的引号

操作前建议先用 JSON 校验工具(如 jsonlint.com)确认格式合法,再在 Notepad++ 中用 Ctrl+Shift+F 全局检查是否所有键都形如 "xxx" 后跟冒号。

把驼峰键转为下划线(camelCase → snake_case)

适用场景:把 "userName" 改成 "user_name"。Notepad++ 不支持正则中直接调用大小写转换函数,得靠分步替换 + 大小写辅助功能。

步骤如下:

arcgis-js
arcgis-js

提供 ArcGIS Maps SDK for JavaScript 开发辅助,涵盖 2D/3D 地图视图、图层管理、数据可视化、空间分析等功能模块的参考和示例指导。

下载
  • 打开「查找 → 替换」(Ctrl+H),勾选「正则表达式」
  • 查找目标填:"([a-z])([A-Z]) → 匹配小写字母后紧跟大写字母的位置(如 "uS 中的 uS)
  • 替换为:"\1_\2 → 把中间插入下划线,保留原字母
  • 点「全部替换」
  • 再按 Ctrl+A 全选,用菜单「编辑 → 小写化」(或 Ctrl+U)把整个文档转小写 → 此时 "UserName" 变成 "user_name"

注意:这个流程会把值里的驼峰也一并改掉(如 "value": "MyClass" 中的 MyClass)。如果值里也有驼峰且不想动,就得加更严格的上下文限制,比如用 (? 断言前面是冒号+空白,但 Notepad++ 的正则引擎(Scintilla)对 lookbehind 支持有限,实际推荐先手动删掉值部分,或用外部脚本处理。

把下划线键转为驼峰(snake_case → camelCase)

适用场景:把 "user_name" 改成 "userName"。同样分两步:

  • 查找:"([a-z])_([a-z]),替换为:"\1\u\2 → \u 是 Notepad++ 特有的“下一个字符大写”转义(仅在替换框生效)
  • 重复执行直到无替换发生(因为一个键可能有多个下划线,如 "first_name_last" 需要两次)

这个 \u 写法只在 Notepad++ 有效,其他编辑器不认;而且它只作用于紧随其后的单个字符,不能写成 \u([a-z])。如果遇到 "id_" 结尾或开头下划线(如 "_private"),正则不会匹配,得单独处理。

真正麻烦的不是怎么换,而是 JSON 里混着字符串值、嵌套对象、数组——这些地方的引号内容和键名长得一模一样。没语法树解析,纯靠正则就是刀尖上跳舞。动手前务必备份,或者先导出键名列表用 Python 脚本跑一遍再贴回来。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4596

8

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.28

1395

5

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1818

5

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

2023.08.17

10143

11

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

2023.09.01

1000

4

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.04

2884

5

Js中concat和push的区别
Js中concat和push的区别

Js中concat和push的区别:1、concat用于将两个或多个数组合并成一个新数组,并返回这个新数组,而push用于向数组的末尾添加一个或多个元素,并返回修改后的数组的新长度;2、concat不会修改原始数组,是创建新的数组,而push会修改原数组,将新元素添加到原数组的末尾等等。本专题为大家提供concat和push相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.14

1609

5

js截取字符串的方法介绍
js截取字符串的方法介绍

JavaScript字符串截取方法,包括substring、slice、substr、charAt和split方法。这些方法可以根据具体需求,灵活地截取字符串的不同部分。在实际开发中,根据具体情况选择合适的方法进行字符串截取,能够提高代码的效率和可读性 。

2023.09.21

4949

3

js生成随机数方法
js生成随机数方法

JavaScript生成随机数的方法,包括使用Math.random()方法生成指定范围内的随机整数、生成随机字符串和生成随机颜色。根据具体需求,可以选择适合的方法来生成随机数,以实现各种功能 。

2023.09.25

2875

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 21.2万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 4.9万人学习