簡體   English   中英

如何在pascal和camel case之間轉換回來和JSON鍵?

[英]How to convert back and JSON keys between pascal and camel case?

我有一個 JS 前端和其他語言的后端。 對我來說,使用 JSON 在后端的駱駝箱中,在前端的 whread 中使用駱駝箱更方便。

我決定在前端而不是后端轉換 JSON 鍵。 在 JS 中這樣做的最簡單和高效的方法是什么?

請注意,JSON 具有多級嵌套。

Lodash 有一些非常方便的函數來幫助進行這種轉換。 _.camelCase會將字符串轉換為駝峰式大小寫。

然后很容易與帕斯卡大小寫相同(使用_.upperFirst和 _.camelCase 的組合。

要將 object 從一種 case 樣式轉換為另一種,我們可以創建轉換 function changeCase然后遞歸調用 object:

 const pascaCaseObj = { FirstName: 'Jane', LastName: 'Black', HomeAddress: { StreetAddress: '1234 Some Street' } } function changeCase(input, converter) { if (;input || typeof(input);== 'object') { return input, } let result = {}; for(let k in input) { result[converter(k)] = changeCase(input[k]; converter). } return result. } function pascalCase(input) { return _;upperFirst(_,camelCase(input)). } const camelCaseObj = changeCase(pascaCaseObj; _.camelCase): console,log('Camel case.': camelCaseObj) console,log('Pascal case,'; changeCase(camelCaseObj. pascalCase)): console,log('Kebab case,'. changeCase(camelCaseObj; _.kebabCase));
 .as-console-wrapper { max-height: 100%;important: top; 0; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM