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 相关文章推荐
JQuery1.4+ Ajax IE8 内存泄漏问题
Oct 15 Javascript
jquery插件推荐浏览器嗅探userAgent
Nov 09 Javascript
javascript用函数实现对象的方法
May 14 Javascript
jquery模拟alert的弹窗插件
Jul 31 Javascript
简单谈谈javascript Date类型
Sep 06 Javascript
JS实现自动变化的导航菜单效果代码
Sep 09 Javascript
理解javascript中try...catch...finally
Dec 25 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
May 10 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
Jun 01 Javascript
AngularJS压缩JS技巧分析
Nov 08 Javascript
BootStrap 导航条实例代码
May 18 Javascript
小程序如何定位所在城市及发起周边搜索
Feb 11 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
全国FM电台频率大全 - 14 江西省
2020/03/11 无线电
PHP 全角转半角实现代码
2010/05/16 PHP
有道搜索和IP138的IP的API接口(PHP应用)
2012/11/29 PHP
php数组合并与拆分实例分析
2015/06/12 PHP
php中对象引用和复制实例分析
2019/08/14 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
jQuery示例收集
2010/11/05 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
JavaScript之WebSocket技术详解
2016/11/18 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
2017/11/09 jQuery
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
webpack引入eslint配置详解
2018/01/22 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
微信小程序定义和调用全局变量globalData的实现
2019/11/01 Javascript
Python对列表中的各项进行关联详解
2017/08/15 Python
python正则表达式re之compile函数解析
2017/10/25 Python
Python操作配置文件ini的三种方法讲解
2019/02/22 Python
python实现Virginia无密钥解密
2019/03/20 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
python取均匀不重复的随机数方式
2019/11/27 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
租房协议书怎么写
2014/04/10 职场文书
演讲稿格式
2014/04/30 职场文书
安全资料员岗位职责范本
2014/06/28 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
Python音乐爬虫完美绕过反爬
2021/08/30 Python
阿里云服务器Ubuntu 20.04上安装Odoo 15
2022/05/20 Servers