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做flash做的事..才完成的一个类.Auntion Action var 0.1
Feb 23 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
Dec 02 Javascript
IE6已终止操作问题的2种情况及解决
Apr 23 Javascript
jquery 新建的元素事件绑定问题解决方案
Jun 12 Javascript
javascript常用经典算法实例详解
Nov 25 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
Jul 08 Javascript
Vue.js组件tab实现选项卡切换
Mar 23 Javascript
深入理解Angular中的依赖注入
Jun 26 Javascript
Angular4 中内置指令的基本用法
Jul 31 Javascript
vue2.0项目实现路由跳转的方法详解
Jun 21 Javascript
基于vue实现微博三方登录流程解析
Nov 04 Javascript
JS实现购物车基本功能
Nov 08 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
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
2019/05/06 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
JS实现单行文字不间断向上滚动的方法
2015/01/29 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
js 获取本地文件及目录的方法(推荐)
2016/11/10 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
浅谈如何使用webpack构建多页面应用
2018/05/30 Javascript
vue+vue-router转场动画的实例代码
2018/09/01 Javascript
vue进入页面时滚动条始终在底部代码实例
2019/03/26 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
python出现"IndentationError: unexpected indent"错误解决办法
2017/10/15 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
python处理excel绘制雷达图
2019/10/18 Python
华丽的手绘陶瓷:MacKenzie-Childs
2017/02/04 全球购物
什么是TCP/IP
2014/07/27 面试题
override和overload的区别
2016/03/09 面试题
nohup的用法
2014/08/10 面试题
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
大班上学期个人总结
2015/02/13 职场文书
催款函怎么写
2015/06/24 职场文书
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
Ajax实现异步加载数据
2021/11/17 Javascript
Python软件包安装的三种常见方法
2022/07/07 Python
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers