![](/img/trans.png)
[英]Convert Java object to json string containing a json string property already
[英]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.