Как изящно переименовать поле объекта с помощью @JsonPropertyJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как изящно переименовать поле объекта с помощью @JsonProperty

Сообщение Anonymous »

У меня есть интерфейс, который сначала получает данные из стороннего API, а затем возвращает JSON во внешний интерфейс для отображения.
Пример ответа от стороннего API :
{
"ShipperCode": "SF",
"SendProvince": "",
"SendCity": "",
"SendArea": "",
"SendAddress": "",
"ReceiveProvince": "",
"ReceiveCity": "",
"ReceiveArea": "",
"ReceiveAddress": "",
"DeliveryTime": "",
"DeliveryDate": "",
"Hour": "",
"PredictPath": ""
}

Теперь я определил объект PredictTimeDO для получения результатов от стороннего API:
public class PredictTimeDO {
@JsonProperty("ShipperCode")
private String shipperCode;
@JsonProperty("SendProvince")
private String sendProvince;
@JsonProperty("SendCity")
private String sendCity;
@JsonProperty("SendArea")
private String sendArea;
@JsonProperty("SendAddress")
private String sendAddress;

@JsonProperty("ReceiveProvince")
private String receiveProvince;
@JsonProperty("ReceiveCity")
private String receiveCity;
@JsonProperty("ReceiveArea")
private String receiveArea;
@JsonProperty("ReceiveAddress")
private String receiveAddress;

@JsonProperty("DeliveryTime")
private String deliveryTime;
@JsonProperty("DeliveryDate")
private String deliveryDate;
@JsonProperty("Hour")
private String hour;
@JsonProperty("PredictPath")
private String predictPath;
}

Итак, как мне преобразовать этот JSON, чтобы он возвращал имена полей в нижнем регистре во внешний интерфейс?
Например:
{
"shipperCode": "",
"sendProvince": "",
"sendCity": "",
"sendArea": "",
"sendAddress": "",
"receiveProvince": "",
"receiveCity": "",
"receiveArea": "",
"receiveAddress": "",
"deliveryTime": "",
"deliveryDate": "",
"hour": "",
"predictPath": ""
}

Я знаю один способ определить значение копирования объекта PredictTimeDTO из объекта PredictTimeDO для возврата, любой другой изящный способ решить эту проблему.
public class PredictTimeDTO {

private String shipperCode;
private String sendProvince;
private String sendCity;
private String sendArea;
private String sendAddress;

private String receiveProvince;
private String receiveCity;
private String receiveArea;
private String receiveAddress;

private String deliveryTime;
private String deliveryDate;
private String hour;
private String predictPath;
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... gracefully
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»