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 相关文章推荐
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
Dec 23 Javascript
Javascript 对象的解释
Nov 24 Javascript
js日历功能对象
Jan 12 Javascript
百度地图api应用标注地理位置信息(js版)
Feb 01 Javascript
js定时器(执行一次、重复执行)
Mar 07 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
Jan 29 Javascript
JS实现图片平面旋转的方法
Mar 01 Javascript
分享javascript、jquery实用代码段
Oct 20 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
Dec 14 Javascript
JavaScript函数表达式详解及实例
May 05 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
Mar 12 Javascript
Ant Design的Table组件去除
Oct 24 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
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
PHP 变量的定义方法
2010/01/26 PHP
PHP写杨辉三角实例代码
2011/07/17 PHP
PHP中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
php 判断字符串编码是utf-8 或gb2312实例
2016/11/01 PHP
php实现留言板功能
2017/03/05 PHP
php DES加密算法实例分析
2019/09/18 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
js判断为空Null与字符串为空简写方法
2014/02/24 Javascript
Area 区域实现post提交数据的js写法
2014/04/22 Javascript
ext combobox动态加载数据库数据(附前后台)
2014/06/17 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
2017/04/18 Javascript
JavaScript初学者必看“new”
2017/06/12 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
Python学习笔记_数据排序方法
2014/05/22 Python
Python中的localtime()方法使用详解
2015/05/22 Python
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
2017/01/20 Python
Python单例模式实例详解
2017/03/01 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
财务会计自荐信范文
2014/02/21 职场文书
红头文件任命书范本
2014/06/05 职场文书
重阳节慰问信
2015/02/15 职场文书
员工自我工作评价
2015/03/06 职场文书
sql server偶发出现死锁的解决方法
2022/04/10 SQL Server