繁体   English   中英

How to convert json string to java object, if json property name and java object property are different

[英]How to convert json string to java object, if json property name and java object property are different

我有一个 Json 字符串,如下所示:

 String empJson= {"id":"13480","name":"test","salary":29292"}

我想将上面的 json 字符串转换为 Java object。

Emp.Java

@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class Emp {
 @XmlElement(name="name")
 private String m_name;
 @XmlElement(name="id")
 private String m_id;
 @XmlElement(name="salary")
 private String m_salary;
 //setters and getters
}



 GsonBuilder gsonBuilder = new GsonBuilder();
    Gson gson = gsonBuilder.create();
    JsonElement jElement = gson.fromJson(empJson, JsonElement.class);
    System.out.println(jElement);
    Emp = gson.fromJson(jElement, Emp.class);
    System.out.println(" id : " + emp.getId());

但是 Emp object 返回所有字段的 null 值。

你能帮我解决这个问题吗?

修复输入 Json 字符串后尝试

 String empJson= {"id":"13480","name":"test","salary":"29292"}

通过使用 ObjectMapper 和 JaxbAnnotationModule 我已经解决了我的问题。

ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JaxbAnnotationModule());
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Emp emp = mapper.readValue(jsonObject.toString(), Emp.class);
System.out.println("EmpName: " + emp.getName());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM