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 相关文章推荐
为Extjs加加速(javascript加速)
Aug 19 Javascript
js实现全国省份城市级联下拉菜单效果代码
Sep 07 Javascript
JS实现的网页背景闪电闪烁效果代码
Oct 17 Javascript
jquery对象访问是什么及使用方法介绍
May 03 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
May 24 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
Dec 22 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
Dec 07 Javascript
微信小程序实现日期格式化和倒计时
Nov 01 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
Oct 15 Javascript
微信小程序绑定手机号获取验证码功能
Oct 22 Javascript
Vue.js仿Select下拉框效果
Feb 18 Javascript
微信小程序scroll-view点击项自动居中效果的实现
Mar 25 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
我的论坛源代码(二)
2006/10/09 PHP
给初学PHP的5个入手程序
2006/11/23 PHP
php笔记之:文章中图片处理的使用
2013/04/26 PHP
使用PHP获取当前url路径的函数以及服务器变量
2013/06/29 PHP
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
Javascript 验证上传图片大小[客户端]
2009/08/01 Javascript
jquery.ui.draggable中文文档
2009/11/24 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
2016/06/08 Javascript
js操作DOM--添加、删除节点的简单实例
2016/07/08 Javascript
全面解析Angular中$Apply()及$Digest()的区别
2016/08/04 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
2018/03/16 Javascript
浅谈vue父子组件怎么传值
2018/07/21 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
小程序如何构建骨架屏
2019/05/29 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
深入解析Python中的descriptor描述器的作用及用法
2016/06/27 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
使用python将excel数据导入数据库过程详解
2019/08/27 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
使用keras和tensorflow保存为可部署的pb格式
2020/05/25 Python
CSS伪类与CSS伪元素的区别及由来具体说明
2012/12/07 HTML / CSS
CSS3制作炫酷带方向感应的鼠标滑过图片3D动画
2016/03/16 HTML / CSS
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
2014年幼儿园植树节活动方案
2014/03/02 职场文书
高中学生期末评语
2014/04/25 职场文书
国庆横幅标语
2014/10/08 职场文书
税务干部个人整改措施思想汇报
2014/10/10 职场文书
2015年师德表现自我评价
2015/03/05 职场文书