BeanUtils:不同的 属性 个名称
BeanUtils: Different property names
我对 BeanUtils 有疑问,我需要将 Map 转换为具有不同 属性 名称的 POJO
实体:
public class User {
private int id;
private String nickname;
private int agility;
public int getId() {
return id;
}
// getters and setters
}
目标应用程序 API returns HashMap(通过 XML-RPC)与类似的东西:
user_id => "123456"
nickname => "Bob"
agility => 30
但是我的 POJO class 没有 user_id
属性
如何翻译属性名字user_id
=>id
?
我没有找到那个案例的任何注释
如果你收到HashMap后允许以后使用,你就改改key。
map.put("id", map.remove("user_id"));
然后使用 BeanUtils 填充您的 bean:
User usr = new User();
BeanUtils.populate(usr, map);
BeanUtils 不适合我的情况,我使用了 Gson library. Gson has feature - convert object to json. After that i convert json into User
class. name
property marked by annotation @SerializedName
实体class:
class User {
@SerializedName("user_id")
private int id;
private String name;
// getters and setters here
// .toString
}
用法:
Map<String,String> apiObject = new HashMap<>();
apiObject.put("user_id","123123");
apiObject.put("name","Bob");
Gson gson = new Gson();
String json = gson.toJson(values);
User user = gson.fromJson(json, User.class);
System.out.println(user);
示例输出:
User{id=123123, name='Bob'}
我对 BeanUtils 有疑问,我需要将 Map 转换为具有不同 属性 名称的 POJO
实体:
public class User {
private int id;
private String nickname;
private int agility;
public int getId() {
return id;
}
// getters and setters
}
目标应用程序 API returns HashMap(通过 XML-RPC)与类似的东西:
user_id => "123456"
nickname => "Bob"
agility => 30
但是我的 POJO class 没有 user_id
属性
如何翻译属性名字user_id
=>id
?
我没有找到那个案例的任何注释
如果你收到HashMap后允许以后使用,你就改改key。
map.put("id", map.remove("user_id"));
然后使用 BeanUtils 填充您的 bean:
User usr = new User();
BeanUtils.populate(usr, map);
BeanUtils 不适合我的情况,我使用了 Gson library. Gson has feature - convert object to json. After that i convert json into User
class. name
property marked by annotation @SerializedName
实体class:
class User {
@SerializedName("user_id")
private int id;
private String name;
// getters and setters here
// .toString
}
用法:
Map<String,String> apiObject = new HashMap<>();
apiObject.put("user_id","123123");
apiObject.put("name","Bob");
Gson gson = new Gson();
String json = gson.toJson(values);
User user = gson.fromJson(json, User.class);
System.out.println(user);
示例输出:
User{id=123123, name='Bob'}