複数の列挙型データを単一のpojoに書き込み、リストとして返す方法

ラジュ:

Java 8機能を使用して複数のEUMデータを単一のpojoに変換し、リストとして返す方法はありますか バックエンドの列挙型からドロップダウン値を返すシナリオがアプリケーションにあるため、これを試しています。

public enum TransactionTypeStatuses {
    NEW("NEW"),
    ACTIVE("ACTV"),

    String code;

    TransactionTypeStatuses(String code) {
        this.code = code;
    }

    public String code() {
        return code;
    }
}

public enum MemberTypes {

    CENTRAL_BANK("MB01"),
    DIRECT_PARTICIPANT("MB02");

    private String code;
    private  MemberTypes(String code) {
        this.code =code;
    }

    public String getCode() {
        return code;
    }
}


public class EnumDataPojo {
    private  String id;
    private String description;

   //setters and getters
}

enumsデータをpojoに追加し、pojoをjson応答に変換します

public class Application {


    public static void main(String[] args) throws JsonProcessingException {

        List<EnumDataPojo> response = convertEnumsToPojo(); //contains the data of All enums in "id" and "desscription" format
        ObjectMapper mapper = new ObjectMapper();
        String response = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(data);
        System.out.println(response);
    }

    stiatic List<EnumDataPojo> convertEnumsToPojo(){

            List<EnumDataPojo> dataList = new ArrayList<>(); 

            for(TransactionTypeStatuses enum1: TransactionTypeStatuses.values())
            { 
                EnumDataPojo data1 = new EnumDataPojo (); 
                data1.setID(enum1.getCode());
                data1.setdescription(String.value(enum1)); 
                dataList.add(data1);
            }

            for(MemberTypes enum2: MemberTypes.values())
            { 
                EnumDataPojo data2 = new EnumDataPojo (); 
                data2.setID(enum2.getCode());
                data2.setdescription(String.value(enum2)); 
                dataList.add(data2);
            }

            return dataList;

    }

}

上記のコードからのjson応答

{
    "transactionTypeStatuses":[ //enum
      {
         "id":"NEW",
         "description":"New"
      },
       {
          "id":"ACTV",
          "description":"active"
       }
    ],

 "memberTypes":[  //enum
      { "id": "MB01", "description": "Central Bank" },
      { "id": "MB02", "description": "Direct Participant" }
    ]

}

回答を更新しました

public class EnumDataValues{
   private String id;
   private String description;
//getters and setters


}

//各列挙型をpojoに変換し、リストに入れます。

private List<EnumDataValues> getEnumReferenceData(Class<?> c) {
            List<EnumDataValues> referenceDataList = new ArrayList<>();
            List enumConstants = Arrays.asList(c.getEnumConstants());
            if (!enumConstants.isEmpty()) {
                enumConstants.forEach(t -> {
                    EnumDataValues referenceData = new EnumDataValues();
                    referenceData.setId(String.valueOf(String.valueOf(t)));
                    referenceData.setDescription(String.valueOf(t));
                    referenceDataList.add(referenceData);
                });
            }
            return referenceDataList;
        }
ロノ:

あなたのコードがあなたに正しい応答を与えるとは思いません。各列挙型のすべての値を取得するには、ループにデータを追加する必要があります

List<EnumDataValues> enum1DataList = new ArrayList<>(); 
for(Enum1 enum1: enum1.values()){ 
     EnumDataValues data1 = new EnumDataValues (); 
     data1.setID(enum1.getCode());
     data1.setdescription(String.value(enum1)); 
     dataList.add(data1);
}

他の列挙型にも同じことをする

更新:

Map<String, List<EnumDataValues>>応答タイプとして使用し、列挙型データを設定します。

Map<String, List<EnumDataValues>> convertEnumsToPojo(){

        List<EnumDataPojo> dataList = new ArrayList<>(); 

        for(TransactionTypeStatuses enum1: TransactionTypeStatuses.values())
        { 
            EnumDataPojo data1 = new EnumDataPojo (); 
            data1.setID(enum1.getCode());
            data1.setdescription(String.value(enum1)); 
            dataList.add(data1);
        }
        List<EnumDataPojo> dataList2 = new ArrayList<>();
        for(MemberTypes enum2: MemberTypes.values())
        { 
            EnumDataPojo data2 = new EnumDataPojo (); 
            data2.setID(enum2.getCode());
            data2.setdescription(String.value(enum2)); 
            dataList2.add(data2);
        }
        Map<String, List<EnumDataValues>> map = new HashMap<>();
        map.put("transactionTypeStatuses", enum1DataList);
        map.put("memberTypes", enum2DataList);
        return map;
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonを使用して、複数のデータフレームに存在する1つの特定の列をリストに書き込む方法は?

分類Dev

最新のC ++で保護されたリソースをgetterがshared_ptrとして返す必要がある場合に、単一の書き込みと複数の読み取りを設計するにはどうすればよいですか?

分類Dev

データベース内のPOJOをJSON文字列として読み取り/書き込み

分類Dev

Javaを使用して列ごとにExcelのデータのリストを書き込む方法は?

分類Dev

Kafkaで、単一のkafkaトピックを作成し、複数のプロデューサーに書き込みさせることはできますか?

分類Dev

VBA:重複するデータを単一の配列/辞書にマージして値を返す方法は?

分類Dev

重複するデータを単一の配列/辞書にマージして値を返す方法は?

分類Dev

複数のリストを列としてファイルに書き込む

分類Dev

Swift 4.2で、特定のタイプのrawValueを使用して列挙型にデフォルトの拡張機能を書き込むことは可能ですか?

分類Dev

複数のファイルからデータを読み取り、単一のファイルの列に書き込む方法

分類Dev

デルタ湖への複数の同一のキーを持つストリーム書き込み

分類Dev

単一のキーと複数の値を使用してExcelシートにマップを書き込む

分類Dev

csvからの読み取りまたはcsvへの書き込み中にデータフレームのデータ型「リスト」を保持する方法

分類Dev

Python辞書が複数の値をループし、それらを単一のキーの単一のリスト値として返す

分類Dev

データフレームのリストを使用して書き込みを並列化するSpark

分類Dev

JSONデータのリストをJSON配列に出力し、ファイルに書き込みます

分類Dev

Swiftは、引数として指定された列挙のケースに基づいて、関数からさまざまなデータ型を返します

分類Dev

列挙型を含むケースクラスの暗黙的な書き込みまたはフォーマットを実装する方法を再生します

分類Dev

データセットを複数の小さなデータセットに分割し、Rを使用してcsvファイルに書き込みます

分類Dev

データストアでブール値または列挙型のプロパティにインデックスを付けることは、高速書き込みには悪い考えですか?

分類Dev

複数行のステートメントを単一行のPython辞書に書き込む方法

分類Dev

書き込みパフォーマンスのためにMongoDbにオブジェクトと配列としてデータを保存する

分類Dev

Java 8列挙型によって複数のリストをマージする方法

分類Dev

文字列の複数のインスタンスを照合して返すにはどうすればよいですか?単一のアポストロフィを任意のインデックスに含めることができますか?

分類Dev

Powershell書き込みホストは、パラメーターを文字列として変数に出力します

分類Dev

辞書のリストを連続した列としてcsvに書き込みます

分類Dev

複数の入力CSVファイルから単一のCSVに列形式でデータを書き込む

分類Dev

データを別の書き込み可能なストリームにプロキシするnode.js書き込み可能ストリームを作成しますが、最初に独自のデータの一部を付加します

分類Dev

ストリームを使用して列挙型に含まれる指定された文字列のリストの列挙型配列を返します

Related 関連記事

  1. 1

    Pythonを使用して、複数のデータフレームに存在する1つの特定の列をリストに書き込む方法は?

  2. 2

    最新のC ++で保護されたリソースをgetterがshared_ptrとして返す必要がある場合に、単一の書き込みと複数の読み取りを設計するにはどうすればよいですか?

  3. 3

    データベース内のPOJOをJSON文字列として読み取り/書き込み

  4. 4

    Javaを使用して列ごとにExcelのデータのリストを書き込む方法は?

  5. 5

    Kafkaで、単一のkafkaトピックを作成し、複数のプロデューサーに書き込みさせることはできますか?

  6. 6

    VBA:重複するデータを単一の配列/辞書にマージして値を返す方法は?

  7. 7

    重複するデータを単一の配列/辞書にマージして値を返す方法は?

  8. 8

    複数のリストを列としてファイルに書き込む

  9. 9

    Swift 4.2で、特定のタイプのrawValueを使用して列挙型にデフォルトの拡張機能を書き込むことは可能ですか?

  10. 10

    複数のファイルからデータを読み取り、単一のファイルの列に書き込む方法

  11. 11

    デルタ湖への複数の同一のキーを持つストリーム書き込み

  12. 12

    単一のキーと複数の値を使用してExcelシートにマップを書き込む

  13. 13

    csvからの読み取りまたはcsvへの書き込み中にデータフレームのデータ型「リスト」を保持する方法

  14. 14

    Python辞書が複数の値をループし、それらを単一のキーの単一のリスト値として返す

  15. 15

    データフレームのリストを使用して書き込みを並列化するSpark

  16. 16

    JSONデータのリストをJSON配列に出力し、ファイルに書き込みます

  17. 17

    Swiftは、引数として指定された列挙のケースに基づいて、関数からさまざまなデータ型を返します

  18. 18

    列挙型を含むケースクラスの暗黙的な書き込みまたはフォーマットを実装する方法を再生します

  19. 19

    データセットを複数の小さなデータセットに分割し、Rを使用してcsvファイルに書き込みます

  20. 20

    データストアでブール値または列挙型のプロパティにインデックスを付けることは、高速書き込みには悪い考えですか?

  21. 21

    複数行のステートメントを単一行のPython辞書に書き込む方法

  22. 22

    書き込みパフォーマンスのためにMongoDbにオブジェクトと配列としてデータを保存する

  23. 23

    Java 8列挙型によって複数のリストをマージする方法

  24. 24

    文字列の複数のインスタンスを照合して返すにはどうすればよいですか?単一のアポストロフィを任意のインデックスに含めることができますか?

  25. 25

    Powershell書き込みホストは、パラメーターを文字列として変数に出力します

  26. 26

    辞書のリストを連続した列としてcsvに書き込みます

  27. 27

    複数の入力CSVファイルから単一のCSVに列形式でデータを書き込む

  28. 28

    データを別の書き込み可能なストリームにプロキシするnode.js書き込み可能ストリームを作成しますが、最初に独自のデータの一部を付加します

  29. 29

    ストリームを使用して列挙型に含まれる指定された文字列のリストの列挙型配列を返します

ホットタグ

アーカイブ