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 22 Javascript
js实时获取系统当前时间实例代码
Jun 28 Javascript
Javascript写入txt和读取txt文件示例
Feb 12 Javascript
JavaScript数组和循环详解
Apr 27 Javascript
jquery实现的缩略图预览滑块实例
Jun 25 Javascript
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
详解vue.js数据传递以及数据分发slot
Jan 20 Javascript
基于React+Redux的SSR实现方法
Jul 03 Javascript
用node开发并发布一个cli工具的方法步骤
Jan 03 Javascript
javascript中floor使用方法总结
Feb 02 Javascript
jQuery高级编程之js对象、json与ajax用法实例分析
Nov 01 jQuery
Javascript 类型转换、封闭函数及常见内置对象操作示例
Nov 15 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 破解防盗链图片函数
2008/12/09 PHP
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
2012/05/07 PHP
解析strtr函数的效率问题
2013/06/26 PHP
php中的路径问题与set_include_path使用介绍
2014/02/11 PHP
php防止伪造的数据从URL提交方法
2014/06/27 PHP
Symfony核心类概述
2016/03/17 PHP
js简单实现删除记录时的提示效果
2013/12/05 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
jQuery的each循环用法简单示例
2016/06/12 Javascript
Javascript表单特效之十大常用原理性样例代码大总结
2016/07/12 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
2018/03/08 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
Vue项目打包压缩的实现(让页面更快响应)
2020/03/10 Javascript
基于JavaScript实现控制下拉列表
2020/05/08 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
Django框架中render_to_response()函数的使用方法
2015/07/16 Python
Python使用base64模块进行二进制数据编码详解
2018/01/11 Python
python迭代dict的key和value的方法
2018/07/06 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
Python给图像添加噪声具体操作
2019/03/03 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
2020/09/02 Python
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
苹果音乐订阅:Apple Music
2018/08/02 全球购物
C语言编程题
2015/03/09 面试题
半年思想汇报
2013/12/30 职场文书
养殖项目策划书范文
2014/01/13 职场文书
环保倡议书怎么写
2014/05/16 职场文书
施工质量承诺书范文
2014/05/30 职场文书
大学毕业典礼演讲稿
2014/09/09 职场文书
2014学习十八届四中全会精神思想汇报范文
2014/10/23 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
2015年考研复习计划
2015/01/19 职场文书
先进个人自荐书
2015/03/06 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python