我们编码的格式是使用驼峰式还是下划线格式,这个争论由来已久,这不,我负责的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 下划线格式与驼峰格式互相转换相关推荐

  1. json字符串中key值下划线命名转换为驼峰命名

    json字符串中key值下划线命名转换为驼峰命名: 例如: public class JsonUtils {public final static void convert(Object json) ...

  2. python 下划线转驼峰_json字符串中key值下划线命名转换为驼峰命名

    json字符串中key值下划线命名转换为驼峰命名: 例如: 原json串: String json= "{'user_name':'ok','user_sex':0,'object_info ...

  3. java json 下划线_为什么rest接口返回json建议采用下划线形式,不要用驼峰

    今天被数据大神说了,对接第三方接口返回的json字段我想用驼峰形式,他说我这样不专业.所以就改了,认怂. 记住以后再次对接rest接口,返回的字段用下划线形式 记录一下改的内容 1.使用fastjso ...

  4. 将驼峰法转为下划线连接的小写格式 (如fullName转为 full_name)

    将驼峰法转为下划线连接的小写格式 在排序时,后端要求,将驼峰命名的字段,如 fullName 等数据,更改为 full_name 的写法(数据库表字段写法),传给他. // str ====> ...

  5. php类属性命名驼峰还是下划线,PHP实现驼峰命名和下划线命名互转

    本篇文章教大家实现驼峰命名和下划线命名互转,在php开发中经常需要两种命名法互相转换,下面为大家提供两种实现方式. 第一种方法效率相对差一些,实现方式如下://驼峰命名转下划线命名 function ...

  6. 你是喜欢用下划线还是小驼峰呢?

    通常每种语言都有自己的 Coding Style, 比如 C/C++ 和 python 是下划线,java 和 go 是驼峰.所以按照语言的规范来命名比较合理. 驼峰派: 1:从按键上来说,驼峰是SH ...

  7. rest接口返回json建议采用下划线形式,不要用驼峰

    今天被数据大神说了,对接第三方接口返回的json字段我想用驼峰形式,他说我这样不专业.所以就改了,认怂. 记住以后再次对接rest接口,返回的字段用下划线形式 记录一下改的内容 1.使用fastjso ...

  8. Word编辑公式 下划线取消自动套用格式 下划线不转义

    打出形如 的效果 在编辑时使用在引号""内插入下划线,使word公式识别为纯文本,不进行自动格式矫正 虽然是很小的一个问题但困扰了很久--顺便说一下LateX这样做的方法: _用\ ...

  9. 驼峰命名法(CamelCase)和下划线命名法(UnderScoreCase)之间的转换

    因为数据库表的字段名通常是用下划线命名法,但前端通常传的是驼峰命名法的字符串,我要将其转化为下划线命名法的字符串去数据库表中进行查询. 例: select * from use where user_ ...

  10. idea 下划线字段转驼峰_Java如何实现数据库中表字段的下划线和驼峰式命名的Model相互转换,很方便的...-Go语言中文社区...

    其实通过逆向工程,然后去配置一些config,就可以实现,从Table到Model的相互转换,而且,对于下划线命名的Table字段,实现驼峰式命名的Model ,有时候我们只是做个测试,或者自己基于数 ...

最新文章

  1. unity android eclipse,[转]Android笔记:Eclipse嵌入Unity3D开发的3D场景
  2. 跨语言平台的RSA加密、解密、签名、验证算法的实现
  3. mysql count 优化索引_如何通过使用索引在InnoDB上优化COUNT(*)性能
  4. JDBC 出现references non-existing project XXX, launch configuration问题的解决办法
  5. JDBC实现从Hive抽取数据导入Oracle
  6. c语言中参数的传递方式是,C语言函数的参数及传递方式
  7. golang位左移赋值
  8. apache目录 vscode_CentOS 上使用vscode 调试百度大数据分析框架Apache Doris BE
  9. php 图形用户界面GUI 开发
  10. Ubuntu U盘启动出现“Failed to load ldlinux.c32”解决
  11. 遇到 no plugin found for prefix 'tomcat 7' in the current project and in the plugin groups 的解决办法
  12. 《高等代数学》(姚慕生),复习题一,第1题
  13. iOS H264编码及解码
  14. 笔记本电脑装android系统安装教程,电脑上安装Android 10小白教程,大屏Android用起来...
  15. java集成easyExcel动态生成表头并在浏览器下载excel
  16. 数据结构-买卖青蛙最大利润
  17. 网络爬虫-神器fiddler抓取app数据
  18. 温控驱动(五)dts参数解析、节点作用
  19. vant的安装和引入
  20. MongoDB详细安装与配置

热门文章

  1. 谷歌浏览器怎么开启硬件加速模式 硬件加速模式开启方法简述
  2. ASO优化:马甲包上架优化方法总结
  3. 代理模式和装饰者模式区别
  4. 分销商城业务逻辑设计_功能思维导图_OctShop
  5. 内存延时cl_内存延迟和内存时序有什么关系?内存速率和时钟周期| Crucial(英睿达)...
  6. 2k21sports服务器暂时不可用,NBA2K20服务器不可用怎么解决 nba2k20进不去游戏解决办法...
  7. java项目第3期SpringBoot的OA办公系统【毕业设计】
  8. 27、想安装网络摄像机看看 PoE交换机和摄像机如何连接
  9. 变更日志 批准的变更请求 收尾流程 原型法 名义小组 习题
  10. html5在线裁剪,HTML5和JQuery裁剪图像实时预览缩略图并上传