json对象及数组键值的深度大小写转换问题详解


Posted in Javascript onMarch 30, 2018

前言

最近在做一个项目,发现后端返回的数据键值全部都是大写的,有时候前端用起来很不方便,所以写了一个深度转换的小工具,分享给大家,也就不用重复造轮子了,不喜勿喷,下面话不多说了,来一起看看详细的介绍吧。

start

npm i deep-lu-trans --save

json example

import t from 'deep-lu-trans';
const obj = {
 AS_DD_S: 123213,
 AND_SAJ_JDK_JSAKD_: {
 DJK_ASJ: {
  SA_DSA_DSA: 123123,
  ASDA_SDH_KAS: {
  ASD_SAD: [{
   ASD_SAD_SA: 123123,
   III_ASDA: [1, 23, {
   ASD_SAD: 123
   }]
  }]
  }
 }
 },
 KIO: [{
 OP: 1,
 OOP: 2
 }, {
 OL: 1,
 OP: 2
 }]
};

t.objKeysToLower(obj).then((res) => {
 console.log(JSON.stringify(res));

});
t.objKeysToLower(obj).then((res) => {
 console.log(JSON.stringify(res));
 /*
 {"as_dd_s":123213,"and_saj_jdk_jsakd_":{"djk_asj":{"sa_dsa_dsa":123123,"asda_sdh_kas":{"asd_sad":[{"asd_sad_sa":123123,"iii_asda":[1,23,{"asd_sad":123}]}]}}},"kio":[{"op":1,"oop":2},{"ol":1,"op":2}]}
 */
 t.objKeysToUpper(res).then((_s) => {
 console.log(JSON.stringify(_s));
 /*
 {"AS_DD_S":123213,"AND_SAJ_JDK_JSAKD_":{"DJK_ASJ":{"SA_DSA_DSA":123123,"ASDA_SDH_KAS":{"ASD_SAD":[{"ASD_SAD_SA":123123,"III_ASDA":[1,23,{"ASD_SAD":123}]}]}}},"KIO":[{"OP":1,"OOP":2},{"OL":1,"OP":2}]}
  */
 });
});

array example

import t from 'deep-lu-trans';

const arr = [{
 A_B: 1,
 B_C: 2
}, 3, 4, 'abc', [{
 A_B: 1,
 B_C: {
 C_D: [0, {
  CK: 1,
  KL: 2
 }]
 }
}]]

t.arrKeysToLower(arr).then((res) => {
 console.log(JSON.stringify(res));
 /*
 [{"a_b":1,"b_c":2},3,4,"abc",[{"a_b":1,"b_c":{"c_d":[0,{"ck":1,"kl":2}]}}]]
 */
 t.arrKeysToUpper(res).then((_s) => {
 console.log(JSON.stringify(_s));
 [{"A_B":1,"B_C":2},3,4,"abc",[{"A_B":1,"B_C":{"C_D":[0,{"CK":1,"KL":2}]}}]]
 });
})

git地址:https://github.com/burning0xb/deep-lu-trans

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JQuery 无废话系列教程(二) jquery实战篇上
Jun 23 Javascript
JavaScript 数组循环引起的思考
Jan 01 Javascript
浏览器常用高宽的jquery插件
Feb 24 Javascript
JS 弹出层 定位至屏幕居中示例
May 21 Javascript
sogou地图API用法实例教程
Sep 11 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
Apr 02 Javascript
Bootstrap基本组件学习笔记之面板(14)
Dec 08 Javascript
Javascript中return的使用与闭包详解
Jan 11 Javascript
VueJs 将接口用webpack代理到本地的方法
Nov 27 Javascript
vue 过滤器filter实例详解
Mar 14 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
Dec 05 Javascript
原生JS运动实现轮播图
Jan 02 Javascript
Vue实现导出excel表格功能
Mar 30 #Javascript
理解 JavaScript EventEmitter
Mar 29 #Javascript
JavaScript EventEmitter 背后的秘密 完整版
Mar 29 #Javascript
vue的diff算法知识点总结
Mar 29 #Javascript
vue文件树组件使用详解
Mar 29 #Javascript
vue全局组件与局部组件使用方法详解
Mar 29 #Javascript
javascript实现文件拖拽事件
Mar 29 #Javascript
You might like
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
yii2中使用Active Record模式的方法
2016/01/09 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
javascript事件模型代码
2007/07/01 Javascript
js Dialog 去掉右上角的X关闭功能
2014/04/23 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
2021/02/08 Javascript
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
编写Python小程序来统计测试脚本的关键字
2016/03/12 Python
Python中文分词实现方法(安装pymmseg)
2016/06/14 Python
Django实现自定义404,500页面教程
2017/03/26 Python
Python判断变量名是否合法的方法示例
2019/01/28 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
百丽国际旗下购物网站:优购
2017/02/28 全球购物
西安众合通用.net笔试题
2013/03/18 面试题
优秀毕业生求职推荐信范文
2013/11/21 职场文书
四风存在的原因分析
2014/02/11 职场文书
幼儿教师国培感言
2014/02/19 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
《七律·长征》教学反思
2016/02/16 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python