に私が値を以下しているハッシュマップMap<String, String>
を持って、ドットは階層を示していることに注意してください。春 - Javaの地図HashMapのマルチレイヤPOJO
+--------------------+-----------+
| Key | Value |
+--------------------+-----------+
| car.color | blue |
| car.engine.make | mitsubishi|
| car.engine.power | 120 |
+--------------------+-----------+
私はPOJOクラスがあります。
public class Vehicle {
private Car car;
**Setters and Getters Below*
}
public class Car {
private String color;
private Engine engine;
**Setters and Getters Below*
}
public class Engine {
private String make;
private Integer power;
**Setters and Getters Below**
}
を
HashMapを階層に基づいてPOJOクラスにマップする方法はありますか?私はjackson ObjectMapper mapper = new ObjectMapper();
を使用しようとしましたが、1レベルのオブジェクトをマップできるようです。
手動でオブジェクトを構築避けるためにしようとしていますか? –
私はスイッチの場合を使用してそれを行うことができ、 'case" car.engine.makeのように "オブジェクトに設定します。"しかし、スイッチのコードは長くなります。マップに値がたくさんある場合 – hades
スイッチなし場合によっては、マッピングクラスを一度構築し、文字列で直接要求し、適切な場所にダンプすることができます。あなたが地図上の200以上の文字列について話している場合を除き、最も効率的な方法です。もう一つの注意点として、構造をより良く開始するためにhasmap以外のものでデータを表現する方が良いのではないでしょうか?そうではありませんか? –