Wie kann ich ein Objektfeld mithilfe von @JsonProperty ordnungsgemäß umbenennen?Java

Java-Forum
Guest
 Wie kann ich ein Objektfeld mithilfe von @JsonProperty ordnungsgemäß umbenennen?

Post by Guest »

Ich habe eine Schnittstelle, die zuerst Daten von einer Drittanbieter-API abruft und dann JSON zur Anzeige an das Frontend zurückgibt.
Beispiel für die Antwort der Drittanbieter-API :

Code: Select all

{
"ShipperCode": "SF",
"SendProvince": "",
"SendCity": "",
"SendArea": "",
"SendAddress": "",
"ReceiveProvince": "",
"ReceiveCity": "",
"ReceiveArea": "",
"ReceiveAddress": "",
"DeliveryTime": "",
"DeliveryDate": "",
"Hour": "",
"PredictPath": ""
}
Jetzt habe ich ein PredictTimeDO-Objekt definiert, um die Ergebnisse von der Drittanbieter-API zu empfangen:

Code: Select all

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;
}
Wie kann ich diesen JSON-Code so konvertieren, dass er mit kleingeschriebenen Feldnamen an das Frontend zurückgegeben wird?
So:

Code: Select all

{
"shipperCode": "",
"sendProvince": "",
"sendCity": "",
"sendArea": "",
"sendAddress": "",
"receiveProvince": "",
"receiveCity": "",
"receiveArea": "",
"receiveAddress": "",
"deliveryTime": "",
"deliveryDate": "",
"hour": "",
"predictPath": ""
}
Ich weiß, dass eine Möglichkeit darin besteht, ein PredictTimeDTO-Objekt zu definieren, indem die Werte aus dem PredictTimeDO-Objekt kopiert werden:

Code: Select all

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;
}
Gibt es eine andere elegante Möglichkeit, dieses Problem zu lösen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post