모두Gson을 생성자로 확장하고 모든 유형의 기본 객체를 생성하려면 어떻게해야합니까?
Gson은 내게 많은 영감을줍니다. 이제 Gson을 확장하여 사용자 정의 기본값을 사용하여 다른 유형의 객체를 작성해야합니다. 나는 Gson의 어떤 부분을 다시 써야 하나? Gson을 재사용하고 기본 유형을 지원하고 싶습니다. 그러나 현재 Gson의 소스 코드를 검토 한 후 설계하기 위해 그 기반을 이루기가 어렵다는 것을 발견했습니다.
이제 내 요구 사항은 다음과 같이 나타낼 수
을 나는 그런 같은 POJO 클래스를 정의 :
TestInputParam.class :
public class TestInputParam{
private Date startTime;
private String name;
private int num;
//setters and gettters
}
요구 사항 :
GsonEx<TestInputParam> gsonEx = new GsonEx<TestInputParam>();
TestInputParam defaultParam = gsonEx.build(TestInputParam.class)
System.out.println(new Gson().toJson(defaultParam));
결과 :
It should output this object default value .
주 :
나의 이해는 다음과 같습니다. 새로운 GSON() fromJson는 (stringContent은 타입) 그냥 수 확장, JsonReader에 의해 StringContent 값으로 해당 객체를 구축 디폴트 또는 임의의 값에 의해 대응하는 객체를 구축한다. stringContent에서 해당 필드 값을 허용하지 마십시오.
죄송합니다. 이해하지 못했습니다. JSON 문자열이 비어 있으면 기본값을 사용하여 객체를 반환할까요? – giampaolo
아니요, Gson을 해당 유형의 객체 작성기 기반으로 확장하는 방법을 의미합니다. 이는 자동으로 값 유형 팩토리가 정의한대로 일부 유형의 객체를 자동 채우기를 의미합니다. 또는 일부 무작위 값. –