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"]
所望の出力:LinkedHashMap
種類は、彼らが追加された順序でエントリをマップ["id:1234, created:16-Feb-2017, subject:Bar, status:Foo, priority:low"]
、共通のコレクションからListOrderedMapを見てみましょう: http://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/map/ListOrderedMap.html – bdkosher
ありがとうございました。だから私は私の設定フィールドを繰り返し、そのキーを使用してJSONからコンテンツを取得し、それをListOrderedMapに追加する必要が仮定?私はそのショットを与えるよ! – Donglecow
標準Javaの 'LinkedHashMap'は同じ機能を提供し、Groovyのマップリテラルで使用されるクラスです。上で示唆したのと同じことを試してみてください。しかし、2番目のマップは '[:]'で開始してください。挿入されたキーを正確に並べる必要があります。 – BalRog