다음과 같이 일반 메서드에 jackson json 라이브러리를 사용하고 싶습니다.
public MyRequest<T> tester() {
TypeReference<MyWrapper<T>> typeRef = new TypeReference<MyWrapper<T>>();
MyWrapper<T> requestWrapper = (MyWrapper<T>) JsonConverter.fromJson(jsonRequest, typeRef);
return requestWrapper.getRequest();
}
...
public class MyWrapper<T> {
private MyRequest<T> request;
public MyRequest<T> getRequest() {
return request;
}
public void setRequest(MyRequest<T> request) {
this.request = request;
}
}
public class MyRequest{
private List<T> myobjects;
public void setMyObjects(List<T> ets) {
this.myobjects = ets;
}
@NotNull
@JsonIgnore
public T getMyObject() {
return myobjects.get(0);
}
}
이제 문제는 요청 객체 jackson 내부에있는 getMyObject ()를 호출 할 때 중첩 된 사용자 정의 객체를 LinkedHashMap으로 반환한다는 것입니다. T 객체를 반환해야한다고 지정하는 방법이 있습니까? 예 : Customer 유형의 개체를 보낸 경우 해당 목록에서 Customer가 반환되어야합니까?.
감사.
getT () 구현을 추가하십시오
—
Jim Garrison
이 질문은 stackoverflow.com/questions/6062011/… 과 유사 하지만 TypeFactory를 사용하여 유형을 지정하도록 제안했습니다. 그러나 컴파일 시간에 유형을 모릅니다 ...
—
techzen 2011-07-27
TypeFactory에는 정적 클래스가 필요하지 않은 메서드가 있습니다. createCollectionType 등.
—
StaxMan 2011
완전한 코드를 공유하십시오. 나는 또한 같은 문제에 직면하고 있습니다.
—
AZ_ 2013 년
하지인가
—
Kyle Delaney
TypeReference
추상적?