【发布时间】:2019-11-16 20:18:22
【问题描述】:
我有一个如下的 Json 字符串:
String empJson= {"id":"13480","name":"test","salary":29292"}
我想把上面的json字符串转换成Java对象。
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 对象为所有字段返回空值。
你能帮我解决这个问题吗?
【问题讨论】:
-
您的 JSON 字符串无效
{"id":"13480","name":"test","salary":29292"}应该是"{\"id\":\"13480\",\"name\":\"test\",\"salary\":29292}"。 -
尝试
@SerializedName并查看What is the basic purpose of @SerializedName annotation in Android using Gson 中的示例。