アノテーションに基づいて JSON オブジェクトを作成することで保持するこのクラスがあります。
@Entity(name = "user")
public class User {
@Id
private String id;
@Column
private String name;
@Column
private Integer age;
public User() {}
public User(String id, String name, String age) {}
// ... code omitted
}
boolean ok = createEntity(new User("uid1", "eli", 25));
上記のメソッドは、User オブジェクトを次のような JSON オブジェクトを表す Map に変換します。
map.put("ID", "uid1");
map.put("name", "eli");
map.put("age", 25);
これはうまくいきます。ただし、上記と同様の形式の値を含む応答マップに基づいて User オブジェクトを作成する必要があります。まず、JSON 文字列の形式でサーバーから応答を取得します。
{
"id" : "uid2",
"name" : "ben",
"age" : 20
}
つまり、この JSON 文字列をマップに解析すると、次のようになります。
map.put("id", "uid2");
map.put("name", "ben");
map.put("age", 20);
マップから正しい@Column
フィールドに値を入力するユーザー オブジェクトを作成するにはどうすればよいですか?
アップデート:
Jackson ライブラリについては知っていますが、ここでの考え方は、クラスに注釈を付ける必要があるライブラリを構築しているため、注釈を使用する必要があるということです。json/map からオブジェクトを作成し、適切な値を適切なフィールドに割り当てる方法の直後です