首页 / JAVA / java – 将POJO转换为Map
java – 将POJO转换为Map
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 将POJO转换为Map,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1875字,纯文字阅读大概需要3分钟。
内容图文
![java – 将POJO转换为Map](/upload/InfoBanner/zyjiaocheng/754/3e49a20e830a4b4889b3a10b037252c2.jpg)
参见英文答案 > How to convert a Java object (bean) to key-value pairs (and vice versa)? 22个
我有以下内容:
public class ChargeRequest {
@Expose
private String customerName;
@Expose
private String stripeToken;
@Expose
private String plan;
@Expose
private String[] products;
gettersAndSetters()...
public Map<String, Object> toMap() {
return gson.fromJson(this, new TypeToken<Map<String, Object>>() {
}.getType());
}
public String toString() {
return gson.toJson(this, getClass());
}
}
我正在尝试将ChargeRequest转换为Map< String,Object>与Gson.
我的适配器:
public static class JsonAdapter implements JsonDeserializer<ChargeRequest>{
@Override
public ChargeRequest deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
ChargeRequest cr = new ChargeRequest();
JsonObject o = json.getAsJsonObject();
o.add("customerName", o.get("customerName"));
o.add("stripeToken", o.get("stripeToken"));
o.add("plan", o.get("plan"));
JsonArray jProds = o.get("products").getAsJsonArray();
cr.products = new String[jProds.size()];
for (int i = 0; i < jProds.size(); i++) {
cr.products[i] = jProds.get(i).getAsString();
}
return cr;
}
}
我得到:类型信息不可用,目标不是字符串数组的基元.怎么了?
最后更新:我终于决定回到杰克逊,一切都按预期工作.
码:
ObjectMapper om = new ObjectMapper();
Map<String, Object> req = om.convertValue(request, Map.class);
解决方法:
发布简单版本:
public final static Map<String, Object> pojo2Map(Object obj) {
Map<String, Object> hashMap = new HashMap<String, Object>();
try {
Class<? extends Object> c = obj.getClass();
Method m[] = c.getMethods();
for (int i = 0; i < m.length; i++) {
if (m[i].getName().indexOf("get") == 0) {
String name = m[i].getName().toLowerCase().substring(3, 4) + m[i].getName().substring(4);
hashMap.put(name, m[i].invoke(obj, new Object[0]));
}
}
} catch (Throwable e) {
//log error
}
return hashMap;
}
内容总结
以上是互联网集市为您收集整理的java – 将POJO转换为Map全部内容,希望文章能够帮你解决java – 将POJO转换为Map所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。