第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將多個 JSON 響應(yīng)映射到單個 Java POJO?

如何將多個 JSON 響應(yīng)映射到單個 Java POJO?

慕妹3242003 2023-06-04 15:12:20
需要將多種類型的 JSON 響應(yīng)映射到單個 POJO,以便我可以比較不同的對象以深入了解差異。我曾嘗試將第一個響應(yīng)映射到 POJO 并解析第二個響應(yīng)以填充定義的 POJO:    class XXX {        @JsonProperty("accountHolder")        private String accountHolder;        @JsonProperty("routingNumber")        private String routingNumber;        @JsonProperty("balance")        private List<Balance> balance;        @JsonProperty("accountName")        private String accountName;        @JsonProperty("bankTransferCodeType")        private String bankTransferCodeType;        @JsonProperty("individualInformation")        private IndividualInformation individualInformation;        @JsonProperty("acctType")        private String acctType;        @JsonProperty("transactionList")        private TransactionList transactionList;        @JsonProperty("accountNumber")        private String accountNumber;        @JsonProperty("uniqueId")        private String uniqueId;        @JsonProperty("bankNetID")        private String bankNetID;        @JsonIgnore        private Map<String, Object> additionalProperties = new HashMap<String, Object>();    }第一反應(yīng):[    {        "ACCOUNT_NAME": "",        "ACCOUNT_NUMBER": "",        "AVAILABLE_BALANCE": null,        "CURRENT_BALANCE": "",        "FULL_ACCOUNT_NUMBER": null,    }]第二個回應(yīng):"bankAccount": [      {        "accountName": "",        "accountNumber": "",        "routingNumber": "",        "fullAccountNumber": "",        "bankTransferCodeType": "",        "acctType": "",        "transactionList": {          "transaction": [            {              "amount": {                "curCode": "",                "content": ""              }          ],          "oldestTxnDate": ""        },        "uniqueId":      }}期待一種將不同結(jié)構(gòu)化 JSON 實體映射到單個 POJO 的通用方法。
查看完整描述

5 回答

?
慕尼黑8549860

TA貢獻1818條經(jīng)驗 獲得超11個贊

如何將多個 JSON 響應(yīng)映射到單個 Java POJO?

由于這兩個響應(yīng)似乎彼此完全不同,沒有任何共同點,因此我不會嘗試使用一個類來閱讀兩個響應(yīng)。

期待一種將不同結(jié)構(gòu)化 JSON 映射到單個 POJO 的通用方法。

  1. 您可以將兩個響應(yīng)都解析為 a?Map<String, Object>,然后將值映射到一個公共類。

  2. 您可以創(chuàng)建單獨的類來映射每個響應(yīng)。它將允許您將它們解耦并根據(jù)需要發(fā)展它們。當從一個對象映射到另一個對象時,您還可以使用MapStruct等映射框架來減少樣板代碼。


查看完整回答
反對 回復 2023-06-04
?
MYYA

TA貢獻1868條經(jīng)驗 獲得超4個贊

它似乎沒有任何通用的方法。但是你可以這樣做:

  • 為每個響應(yīng)類型創(chuàng)建多個域類

  • 創(chuàng)建一個單一的標準域類

  • 為每個響應(yīng)類創(chuàng)建映射器以將其映射到標準域類。


查看完整回答
反對 回復 2023-06-04
?
慕姐4208626

TA貢獻1852條經(jīng)驗 獲得超7個贊

我建議使用 Jackson Json Views。這是相同的示例:


例子


public class Views {


    public class Global {

    }


    public class Internal extends Global {

    }

}


class XXX {


    @JsonView(Views.Global.class)

    @JsonProperty("accountHolder")

    private String accountHolder;


    @JsonView(Views.Internal.class)

    @JsonProperty("routingNumber")

    private String routingNumber;


}

希望能幫助到你。


查看完整回答
反對 回復 2023-06-04
?
海綿寶寶撒

TA貢獻1809條經(jīng)驗 獲得超8個贊

我建議使用@JsonProperty("") 和@JsonAlias("")。


 class XXX {

    @JsonAlias("accountName")

    @JsonProperty("ACCOUNT_NAME")

    private String name;


    @JsonAlias("routingNumber")

    @JsonProperty("ROUTING_NUMBER")

    private String routing;}

我希望它有所幫助。


查看完整回答
反對 回復 2023-06-04
?
慕神8447489

TA貢獻1780條經(jīng)驗 獲得超1個贊

我所做的是創(chuàng)建了一個 MyResponse 模型,其中基本上包含您希望獲得的 JSON 響應(yīng)中的所有響應(yīng)字段。MyResponse 具有 c-tor 或接收這些字段或允許設(shè)置它們的設(shè)置器。


然后我創(chuàng)建了某種服務(wù)類 MyService,它可以發(fā)出多個請求并獲取響應(yīng)。


然后你只需在某種經(jīng)理類或任何你稱之為的類中做這樣的事情:


MyService mySer = new MyService();


MyResponse myRes = new MyResponse(

  mySer.getDetails(),

  mySer.getPicture(),

  mySer.getSomethingElse()

);

這些調(diào)用(getDetails、getPicture...)將請求發(fā)送到端點并返回響應(yīng),然后將響應(yīng)映射到 MyResponse 類構(gòu)造函數(shù)的字段中。這是由框架發(fā)生的,因此 MyResponse 具有 FIELD 類型的注釋 @XmlRootElement 和 @XmlAccessorType 以確保發(fā)生這種情況。如果出于某種原因,您不想創(chuàng)建包含 getPicture 結(jié)果的響應(yīng),例如,您只需將 null 分配給該輸入?yún)?shù)。


查看完整回答
反對 回復 2023-06-04
  • 5 回答
  • 0 關(guān)注
  • 222 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號