我有一個配置文件來指定要從JSON文檔中提取的字段,然後我要寫入CSV文件。按照Groovy中定義的鍵順序排序映射
目前,我正在遍歷JSON文檔並將指定的鍵和值分配給HashMap<String,Object>
,然後將這些鍵添加到ArrayList<HashMap<String,Object>>
。看起來這個地圖是在JSON文檔中讀取信息時填充的。
如何將我的地圖按照配置文件中指定的字段順序排序?我在網上搜索,但只發現如何按字母順序或數字排序的例子,這不是我想要的。
配置:"useFields":["id","created","subject","status","priority"]
電流輸出:["created:16-Feb-2017, id:1234, priority:low, status:Foo, subject:Bar"]
所需的輸出:["id:1234, created:16-Feb-2017, subject:Bar, status:Foo, priority:low"]
而是一個HashMap的,採取從常見的集合看看ListOrderedMap: http://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/map/ListOrderedMap.html – bdkosher
謝謝。所以我假設我應該遍歷我的配置字段,使用該密鑰從JSON獲取內容,然後將其添加到ListOrderedMap?我會給你一槍! – Donglecow
標準Java'LinkedHashMap'提供了相同的功能,並且它是Groovy中地圖文字使用的類。嘗試與上面建議的相同的事情,但只需用'[:]'開始第二張地圖。它應該按照插入的順序排列鍵。 – BalRog