Spring MVC 3 を使用しており、JSON 文字列をエンティティにマップする必要があります。Json 文字列には、ネストされたエンティティのキー参照のみが含まれます。
次のような JSON 文字列を受け取ります。
{"entities":
[{
"entityName":"User",
"values":
[
{"name":"Mario","lastname":"Rossi","id_type":"1"},
{"name":"Giuseppe","lastname":"Verdi","id_type":"1"}
]
}]
}
そして私は2つのJavaエンティティを持っています:
User{
String name,
String lastname,
UserType userType
}
と
UserType {
int id,
String description
}
JSON 情報を使用して User エンティティを作成したいと考えています。ユーザー クラスには「id_type」パラメーターがないため、ObjectMapper は JSON 文字列をユーザー エンティティに配置できません。
さまざまな種類のエンティティを受け取ることができるので、次のようにリフレクションを使用します。
//READ JSON
GenericEntity entities[]=request.getEntities();
String entityName = entities[0].getEntityName();
Object rows[] = entities[0].getValues();
//MAP
Class clazz = Class.forName(entityName);
ObjectMapper mapper = new ObjectMapper();
dbEntity = mapper.convertValue(rows[0], clazz);
//SAVE TO DB
service.save(dbEntity);
CustomObjectMapper を使用する必要があると思いますが、方法がわかりません
逆の問題もあります: User クラスの「user」を取得し、「id_type」で JSON 文字列を作成する必要があります
誰かが私を助けることができますか?前もって感謝します