[英]Reposition json array object elements
嗨,我想將下面的json數據轉換成不同的格式,這是對我的json數據的重新排列。 我也理解我們通過鍵訪問數據,但是我的要求如下所示,我對此無能為力。 在必填數據的下方,您可以看到月份始終排在第一位。
給定數據:
[ { "Operating Company" : "7", "month" : "March", "Insolvency" : "2", "SPV / Asset Backed" : "4" }, { "Operating Company" : "3", "month" : "July", "Insolvency" : "43", "TBD" : "1" }, { "Operating Company" : "6", "month" : "August", "SPV / Asset Backed" : "27" }, { "Operating Company" : "54", "month" : "September", "Insolvency" : "114", "Operational Company" : "1", "SPV / Asset Backed" : "15" } ]
所需數據:-
[ { "month" : "March", "Operating Company" : "7", "Insolvency" : "2", "SPV / Asset Backed" : "4" }, {"month" : "July", "Operating Company" : "3", "Insolvency" : "43", "TBD" : "1" }, { "month" : "August", "Operating Company" : "6", "SPV / Asset Backed" : "27" }, {"month" : "September", "Operating Company" : "54", "Insolvency" : "114", "Operational Company" : "1", "SPV / Asset Backed" : "15" } ]
JSON規范不保證JSON處理器如何處理對象中鍵/值對的順序:
6個物件
JSON語法沒有為名稱/值對的排序賦予任何意義。 這些都是JSON處理程序可以定義的語義注意事項,也可以在定義JSON用於數據交換的特定用法的規范中定義。
ECMAScript 2015規范不保證對象中鍵的順序:
9.1普通對象的內部方法和內部插槽9.1.11 [[枚舉]]()
[...]枚舉屬性的機制和順序未指定[...]
資料來源: ECMA-262,第6版/ 2015年6月
因此,您可以更改JSON對象中鍵/值對的順序,但是如果將JSON.parse()
更改為JavaScript對象,則不再保證該順序。
但是,如果在JavaScript中解析時需要保持JSON Object的鍵值對的順序,則需要編寫自己的將JSON Object解析為JavaScript Map的解析。 Map
保證鍵的順序。
由於您在評論中提到D3.js需要此功能,因此我很確定您的實際問題還有其他問題。 隨時為您的D3.js問題打開另一個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.