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 行背景颜色的交替显示(隔行变色)实现代码
Dec 13 Javascript
window.location.href的用法(动态输出跳转)
Aug 09 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
May 19 Javascript
如何使用headjs来管理和异步加载js
Nov 29 Javascript
webpack2.0搭建前端项目的教程详解
Apr 05 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
May 10 Javascript
vue组件初学_弹射小球(实例讲解)
Sep 06 Javascript
纯js封装的ajax功能函数与用法示例
May 14 Javascript
JavaScript继承与聚合实例详解
Jan 22 Javascript
node.js中path路径模块的使用方法实例分析
Feb 13 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
Aug 31 Javascript
vue3如何优雅的实现移动端登录注册模块
Mar 29 Vue.js
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
咖啡风味 世界咖啡主要分布分布 咖啡的生长要求
2021/03/06 新手入门
用Flash图形化数据(二)
2006/10/09 PHP
JS backgroundImage控制
2009/05/19 Javascript
js控制表单操作的常用代码小结
2013/08/15 Javascript
jquery中animate动画积累的解决方法
2013/10/05 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
2014/09/22 Javascript
JS Array.slice 截取数组的实现方法
2016/01/02 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
JS中Object对象的原型概念基础
2018/01/29 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
layui表格分页 记录勾选的实例
2019/09/02 Javascript
js实现图片粘贴到网页
2019/12/06 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
利用python打印出菱形、三角形以及矩形的方法实例
2017/08/08 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
Pycharm 设置默认头的图文教程
2019/01/17 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
Python 3.8 新功能来一波(大部分人都不知道)
2020/03/11 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
浅析Python的命名空间与作用域
2020/11/25 Python
HTML5触摸事件演化tap事件介绍
2016/03/25 HTML / CSS
Lookfantastic法国官网:英国知名美妆购物网站
2017/10/28 全球购物
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
介绍一下Java中的Class类
2015/04/10 面试题
银行求职自荐信范文
2015/03/04 职场文书
学校学期工作总结
2015/08/13 职场文书
MySQL 逻辑备份 into outfile
2022/05/15 MySQL