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 相关文章推荐
javascript中运用闭包和自执行函数解决大量的全局变量问题
Dec 30 Javascript
基于JQuery实现鼠标点击文本框显示隐藏提示文本
Feb 23 Javascript
判断输入是否为空,获得输入类型的JS代码
Oct 30 Javascript
Javascript字符串对象的常用方法简明版
Jun 26 Javascript
浅析js中substring和substr的方法
Nov 09 Javascript
基于JavaScript实现活动倒计时效果
Apr 20 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
May 24 Javascript
vue自定义全局组件(自定义插件)的用法
Jan 30 Javascript
微信小程序云开发使用方法新手初体验
May 16 Javascript
Vue 使用Props属性实现父子组件的动态传值详解
Nov 13 Javascript
vue移动端的左右滑动事件详解
Jun 17 Javascript
Webpack5正式发布,有哪些新特性
Oct 12 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
php获取apk包信息的方法
2014/08/15 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
2019/10/11 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
JavaScript 入门基础知识 想学习js的朋友可以参考下
2009/12/26 Javascript
Javascript 中的 && 和 || 使用小结
2010/04/25 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
解析JavaScript的ES6版本中的解构赋值
2015/07/28 Javascript
JavaScript实现点击按钮字体放大、缩小
2016/02/29 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
详解weex默认webpack.config.js改造
2018/01/08 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
2018/10/30 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
在nodejs中创建child process的方法
2021/01/26 NodeJs
使用Python获取Linux系统的各种信息
2014/07/10 Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
Python网络爬虫中的同步与异步示例详解
2018/02/03 Python
使用python绘制二元函数图像的实例
2019/02/12 Python
Django实现文件上传下载功能
2019/10/06 Python
Python中的list与tuple集合区别解析
2019/10/12 Python
python import 上级目录的导入
2020/11/03 Python
波兰补充商店:Muscle Power
2018/10/29 全球购物
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
学习新党章思想汇报
2014/01/09 职场文书
车辆工程专业求职信
2014/06/14 职场文书
公司领导班子对照材料
2014/08/18 职场文书
2014年党总支工作总结
2014/12/18 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
物业项目经理岗位职责
2015/04/01 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书
python实现批量移动文件
2021/04/05 Python