0
프로젝트에서 다음 잭슨 매퍼를 사용하고 있습니다. 내가 개체로 JSON 문자열을 변환하려고 할 때마다, 내가 제대로 부울 값을 매핑 할 수 없습니다임을잭슨을 통해 부울 값을 올바르게 역 직렬화 할 수 없습니다.
는org.codehaus.jackson jackson-mapper-asl 1.9.13
내 문제를 해결합니다. 그것의 아주 특이한 문제. 내 속성 이름이 "으로 시작하는 경우" 예 : "isFlag":true
입니다. 잭슨이 읽지 않습니다. 특성 이름을 "Flag":true
으로 변경하면 올바른 개체가 만들어집니다.
JSON 참조 :
{"ticketNumber": "0970897760","chartPrepared": true,"isFlag": true}
참조 분류 :
class TestClass {
String ticketNumber;
boolean chartPrepared;
boolean isFlag;
public boolean isChartPrepared() {
return chartPrepared;
}
public void setChartPrepared(boolean chartPrepared) {
this.chartPrepared = chartPrepared;
}
public boolean isFlag() {
return isFlag;
}
public void setFlag(boolean isFlag) {
this.isFlag = isFlag;
}
public String getTicketNumber() {
return ticketNumber;
}
public void setTicketNumber(String ticketNumber) {
this.ticketNumber = ticketNumber;
}
}
}
기능 :
TestClass obj = mapper.readValue(text, TestClass.class);
System.out.println(obj.getTicketNumber()+" "+obj.isChartPrepared()+" "+obj.isFlag());
실제 출력 :
0970897760 true false
,451,515,
예상 출력 : 회신 BusyAnt에 대한
0970897760 true true
변경'당신의 JSON에서 isFlag'의 to'flag', 또는 응답 BusyAnt에 대한'isIsFlag' – BusyAnt
덕분에 당신의 방법을'isFlag'. 나는 명시 적으로 @JsonProperty ("isFlag)를 TestClass에 추가하여이 문제를 해결했다. @JsonProperty ("isFlag") \t \t 부울 isFlag; –