json對(duì)象及數(shù)組鍵值的深度大小寫轉(zhuǎn)換問題詳解
前言
最近在做一個(gè)項(xiàng)目,發(fā)現(xiàn)后端返回的數(shù)據(jù)鍵值全部都是大寫的,有時(shí)候前端用起來很不方便,所以寫了一個(gè)深度轉(zhuǎn)換的小工具,分享給大家,也就不用重復(fù)造輪子了,不喜勿噴,下面話不多說了,來一起看看詳細(xì)的介紹吧。
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
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Java 把json對(duì)象轉(zhuǎn)成map鍵值對(duì)的方法
- JS遍歷Json字符串中鍵值對(duì)先轉(zhuǎn)成JSON對(duì)象再遍歷
- JS操作json對(duì)象key、value的常用方法分析
- JS動(dòng)態(tài)遍歷json中所有鍵值對(duì)的方法(不知道屬性名的情況)
- JSON創(chuàng)建鍵值對(duì)(key是中文或者數(shù)字)方式詳解
- 當(dāng)json鍵為數(shù)字時(shí)的取值方法解析
- js將鍵值對(duì)字符串轉(zhuǎn)為json字符串的方法
- JS實(shí)現(xiàn)鍵值對(duì)遍歷json數(shù)組功能示例
- json的鍵名為數(shù)字時(shí)的調(diào)用方式(示例代碼)
- javascript json對(duì)象小技巧之鍵名作為變量用法分析
相關(guān)文章
詳解nodejs微信公眾號(hào)開發(fā)——5.素材管理接口
這篇文章主要介紹了詳解nodejs微信公眾號(hào)開發(fā)——5.素材管理接口,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-04-04Nodejs?Sequelize手冊(cè)學(xué)習(xí)快速入門到應(yīng)用
這篇文章主要為大家介紹了Nodejs?Sequelize手冊(cè)學(xué)習(xí)快速入門到應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10使用nodejs、Python寫的一個(gè)簡(jiǎn)易HTTP靜態(tài)文件服務(wù)器
這篇文章主要介紹了使用nodejs、Python寫的一個(gè)簡(jiǎn)易HTTP靜態(tài)文件服務(wù)器,分為nodejs和Python兩個(gè)版本,用類似淘寶的CSS、JS文件加載方式處理靜態(tài)文件加載,需要的朋友可以參考下2014-07-07Express URL跳轉(zhuǎn)(重定向)的實(shí)現(xiàn)方法
Express是一個(gè)基于Node.js實(shí)現(xiàn)的Web框架,其響應(yīng)HTTP請(qǐng)求的response對(duì)象中有兩個(gè)用于URL跳轉(zhuǎn)方法res.location()和res.redirect(),使用它們可以實(shí)現(xiàn)URL的301或302重定向。2017-04-04nodejs實(shí)現(xiàn)bigpipe異步加載頁(yè)面方案
本文給大家分享的是使用nodejs結(jié)合bigpipe實(shí)現(xiàn)異步加載頁(yè)面的方案,非常的實(shí)用,也是以后前端性能優(yōu)化的一個(gè)方向,希望大家能夠喜歡。2016-01-01一文學(xué)會(huì)如何升級(jí)npm管理的各依賴版本
npm在前端開發(fā)流程中提供了非常完善的自動(dòng)化工具鏈,已成為每個(gè)前端開發(fā)者必備的工具,下面這篇文章主要給大家介紹了關(guān)于如何升級(jí)npm管理的各依賴版本,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09npm報(bào)錯(cuò):npm?WARN?config?global?'--global',?&apo
這篇文章主要給大家介紹了關(guān)于npm報(bào)錯(cuò):npm?WARN?config?global?'--global',?'--local'?are?deprecated.?Use?`--location=global`?instead.的解決方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08基于Node.js模板引擎教程-jade速學(xué)與實(shí)戰(zhàn)1
下面小編就為大家?guī)硪黄贜ode.js模板引擎教程-jade速學(xué)與實(shí)戰(zhàn)1。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09Nodejs探秘之深入理解單線程實(shí)現(xiàn)高并發(fā)原理
這篇文章主要介紹了Nodejs單線程實(shí)現(xiàn)高并發(fā)原理,對(duì)Node.js感興趣的同學(xué),可以參考下2021-04-04