我正在使用Spring开发项目,并希望将以字符串格式传入控制器的JSON数据进行解析。为了展示问题,我编写了下面的小程序。
经过足够的搜索,但没有运气。希望在这个网站上得到答案。 问题:无法解析内部对象,即A3PatientRecordStatusBean。 程序输出:MedicPatientRecordDataStatusBean [a3PatientRecordStatusBean=null]
尝试执行JSON解析的主程序:
经过足够的搜索,但没有运气。希望在这个网站上得到答案。 问题:无法解析内部对象,即A3PatientRecordStatusBean。 程序输出:MedicPatientRecordDataStatusBean [a3PatientRecordStatusBean=null]
尝试执行JSON解析的主程序:
public static void main(String[] args) {
String jsonString = "{\"a3PatientRecordStatusBean\":{\"patientRecordId\":\"1\",\"messageCode\":\"2000\"}}";
ObjectMapper mapper = new ObjectMapper();
try {
MedicPatientRecordDataStatusBean medicPatientRecordDataStatusBean = mapper.readValue(jsonString, MedicPatientRecordDataStatusBean.class);
System.out.println(medicPatientRecordDataStatusBean);
} catch (IOException e) {
e.printStackTrace();
}
}
外部类/对象:
@JsonAutoDetect
public class MedicPatientRecordDataStatusBean implements Serializable {
private static final long serialVersionUID = -4917476398283528449L;
private A3PatientRecordStatusBean a3PatientRecordStatusBean;
/**
* @return the a3PatientRecordStatusBean
*/
public A3PatientRecordStatusBean getA3PatientRecordStatusBean() {
return a3PatientRecordStatusBean;
}
/**
* @param a3PatientRecordStatusBean
* the a3PatientRecordStatusBean to set
*/
public void setA3PatientRecordStatusBean(
A3PatientRecordStatusBean a3PatientRecordStatusBean) {
a3PatientRecordStatusBean = a3PatientRecordStatusBean;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "MedicPatientRecordDataStatusBean [a3PatientRecordStatusBean="
+ a3PatientRecordStatusBean + "]";
}
}
内部对象类:
@JsonAutoDetect
public class A3PatientRecordStatusBean implements Serializable {
private static final long serialVersionUID = -4585669896170562832L;
private String patientRecordId = "";
private String messageCode = "";
/**
* @return the patientRecordId
*/
public String getPatientRecordId() {
return patientRecordId;
}
/**
* @param patientRecordId
* the patientRecordId to set
*/
public void setPatientRecordId(String patientRecordId) {
this.patientRecordId = patientRecordId;
}
/**
* @return the messageCode
*/
public String getMessageCode() {
return messageCode;
}
/**
* @param messageCode
* the messageCode to set
*/
public void setMessageCode(String messageCode) {
this.messageCode = messageCode;
}
@Override
public String toString() {
return "A3PatientRecordStatusBean [patientRecordId=" + patientRecordId
+ ", messageCode=" + messageCode + "]";
}
}