JavaScript JSON的key 下划线格式与驼峰格式互相转换
我们编码的格式是使用驼峰式还是下划线格式,这个争论由来已久,这不,我负责的vue.js前端刚刚做好,发现后台接口是使用Python写的,导致接口的所有字段都是下划线格式的,而我又希望接口改成驼峰格式,后台开发肯定不干,so,我自己动手,在发送请求的时候,将驼峰改成下划线格式,在获取响应的时候,将下划线格式转换成驼峰格式,下面是代码:
// 字符串的下划线格式转驼峰格式,eg:hello_world => helloWorld
function underline2Hump(s) {return s.replace(/_(\w)/g, function(all, letter) {return letter.toUpperCase()})
}// 字符串的驼峰格式转下划线格式,eg:helloWorld => hello_world
function hump2Underline(s) {return s.replace(/([A-Z])/g, '_$1').toLowerCase()
}// JSON对象的key值转换为驼峰式
function jsonToHump(obj) {if (obj instanceof Array) {obj.forEach(function(v, i) {jsonToHump(v)})} else if (obj instanceof Object) {Object.keys(obj).forEach(function(key) {var newKey = underline2Hump(key)if (newKey !== key) {obj[newKey] = obj[key]delete obj[key]}jsonToHump(obj[newKey])})}
}// JSON对象的key值转换为下划线格式
function jsonToUnderline(obj) {if (obj instanceof Array) {obj.forEach(function(v, i) {jsonToUnderline(v)})} else if (obj instanceof Object) {Object.keys(obj).forEach(function(key) {var newKey = hump2Underline(key)if (newKey !== key) {obj[newKey] = obj[key]delete obj[key]}jsonToUnderline(obj[newKey])})}
}
代码就不解释了,一看就懂,网上都是关于java转换的相关资料,JavaScript实现的几乎没有,所以就直接造轮子了,代码很简单,就是递归而已,但是调试花了我很长时间,? 就酱!
JavaScript JSON的key 下划线格式与驼峰格式互相转换相关推荐
- json字符串中key值下划线命名转换为驼峰命名
json字符串中key值下划线命名转换为驼峰命名: 例如: public class JsonUtils {public final static void convert(Object json) ...
- python 下划线转驼峰_json字符串中key值下划线命名转换为驼峰命名
json字符串中key值下划线命名转换为驼峰命名: 例如: 原json串: String json= "{'user_name':'ok','user_sex':0,'object_info ...
- java json 下划线_为什么rest接口返回json建议采用下划线形式,不要用驼峰
今天被数据大神说了,对接第三方接口返回的json字段我想用驼峰形式,他说我这样不专业.所以就改了,认怂. 记住以后再次对接rest接口,返回的字段用下划线形式 记录一下改的内容 1.使用fastjso ...
- 将驼峰法转为下划线连接的小写格式 (如fullName转为 full_name)
将驼峰法转为下划线连接的小写格式 在排序时,后端要求,将驼峰命名的字段,如 fullName 等数据,更改为 full_name 的写法(数据库表字段写法),传给他. // str ====> ...
- php类属性命名驼峰还是下划线,PHP实现驼峰命名和下划线命名互转
本篇文章教大家实现驼峰命名和下划线命名互转,在php开发中经常需要两种命名法互相转换,下面为大家提供两种实现方式. 第一种方法效率相对差一些,实现方式如下://驼峰命名转下划线命名 function ...
- 你是喜欢用下划线还是小驼峰呢?
通常每种语言都有自己的 Coding Style, 比如 C/C++ 和 python 是下划线,java 和 go 是驼峰.所以按照语言的规范来命名比较合理. 驼峰派: 1:从按键上来说,驼峰是SH ...
- rest接口返回json建议采用下划线形式,不要用驼峰
今天被数据大神说了,对接第三方接口返回的json字段我想用驼峰形式,他说我这样不专业.所以就改了,认怂. 记住以后再次对接rest接口,返回的字段用下划线形式 记录一下改的内容 1.使用fastjso ...
- Word编辑公式 下划线取消自动套用格式 下划线不转义
打出形如 的效果 在编辑时使用在引号""内插入下划线,使word公式识别为纯文本,不进行自动格式矫正 虽然是很小的一个问题但困扰了很久--顺便说一下LateX这样做的方法: _用\ ...
- 驼峰命名法(CamelCase)和下划线命名法(UnderScoreCase)之间的转换
因为数据库表的字段名通常是用下划线命名法,但前端通常传的是驼峰命名法的字符串,我要将其转化为下划线命名法的字符串去数据库表中进行查询. 例: select * from use where user_ ...
- idea 下划线字段转驼峰_Java如何实现数据库中表字段的下划线和驼峰式命名的Model相互转换,很方便的...-Go语言中文社区...
其实通过逆向工程,然后去配置一些config,就可以实现,从Table到Model的相互转换,而且,对于下划线命名的Table字段,实现驼峰式命名的Model ,有时候我们只是做个测试,或者自己基于数 ...
最新文章
- unity android eclipse,[转]Android笔记:Eclipse嵌入Unity3D开发的3D场景
- 跨语言平台的RSA加密、解密、签名、验证算法的实现
- mysql count 优化索引_如何通过使用索引在InnoDB上优化COUNT(*)性能
- JDBC 出现references non-existing project XXX, launch configuration问题的解决办法
- JDBC实现从Hive抽取数据导入Oracle
- c语言中参数的传递方式是,C语言函数的参数及传递方式
- golang位左移赋值
- apache目录 vscode_CentOS 上使用vscode 调试百度大数据分析框架Apache Doris BE
- php 图形用户界面GUI 开发
- Ubuntu U盘启动出现“Failed to load ldlinux.c32”解决
- 遇到 no plugin found for prefix 'tomcat 7' in the current project and in the plugin groups 的解决办法
- 《高等代数学》(姚慕生),复习题一,第1题
- iOS H264编码及解码
- 笔记本电脑装android系统安装教程,电脑上安装Android 10小白教程,大屏Android用起来...
- java集成easyExcel动态生成表头并在浏览器下载excel
- 数据结构-买卖青蛙最大利润
- 网络爬虫-神器fiddler抓取app数据
- 温控驱动(五)dts参数解析、节点作用
- vant的安装和引入
- MongoDB详细安装与配置
热门文章
- 谷歌浏览器怎么开启硬件加速模式 硬件加速模式开启方法简述
- ASO优化:马甲包上架优化方法总结
- 代理模式和装饰者模式区别
- 分销商城业务逻辑设计_功能思维导图_OctShop
- 内存延时cl_内存延迟和内存时序有什么关系?内存速率和时钟周期| Crucial(英睿达)...
- 2k21sports服务器暂时不可用,NBA2K20服务器不可用怎么解决 nba2k20进不去游戏解决办法...
- java项目第3期SpringBoot的OA办公系统【毕业设计】
- 27、想安装网络摄像机看看 PoE交换机和摄像机如何连接
- 变更日志 批准的变更请求 收尾流程 原型法 名义小组 习题
- html5在线裁剪,HTML5和JQuery裁剪图像实时预览缩略图并上传