Я использую genson 1.4 для обработки JSON в моей реализации REST, JSON Inheritance не работает при использовании genson .please найдите структуру кода кода ниже.Genson 1.4 (JSON) не обрабатывает унаследованные Pojo's
Это мой BaseObject
This is my BaseObject
public class SynBaseObject implements Serializable
{
private Long status;
//GettersAndSetters
}
Это мой ребенок Класс
public class PhoneNumber extends SynBaseObject
{
private String countryCode;
private String areaCode;
private String localNumber;
//GettersAndSetters
}
Это мой объект Response
public class ResponseObject implements Serializable
{
private Integer errorCode;
private String errorMessage;
private Long primaryKey;
private SynBaseObject baseClass;
public ResponseObject()
{
}
public SynBaseObject getBaseObject()
{
return baseClass;
}
public void setBaseObject(SynBaseObject baseClass)
{
this.baseClass = baseClass;
}
public Integer getErrorCode()
{
return errorCode;
}
public void setErrorCode(Integer errorCode)
{
this.errorCode = errorCode;
}
}
Это выход GENSON JSON :
{ "BaseObject": { "статус": нулевой}, "ERRORCODE": нулевой, "ErrorMessage": нулевой, "PrimaryKey": нулевой}
CountryCode
, areaCode
и localNumber
отсутствует в формате JSON, только базовый класс обрабатывается .Tried же от кода, как этот
Genson genson = new Genson();
PhoneNumber number = new PhoneNumber();
number.setCountryCode("2");
number.setAreaCode("3");
number.setLocalNumber("9645");
ResponseObject responseObject = new ResponseObject();
responseObject.setBaseObject(number);
String serialize = genson.serialize(responseObject);
System.out.println(serialize);
Выход был таким же, как и в службе отдыха.
Спасибо за ответ, его работа с кодом. Могу ли я настроить .useRuntimeType (true) в моем сервисе отдыха, так как я просто использую Jens Genson 1.4, сериализацию и де-сериализацию обрабатывает javax.ws.rs используя библиотеку genson –
Чтобы настроить экземпляр genson для ваших служб, посмотрите на документы здесь http://owlike.github.io/genson/Documentation/Extensions/#jax-rs-jersey--cie, есть также некоторые вопросы о stackoverflow, где вы можете увидеть фрагмент кода о том, как это сделать. Как этот http://stackoverflow.com/questions/38107426/what-is-a-contextresolver-and-provider-in-jersey/38112074#38112074 – eugen