我從數(shù)據(jù)提供者那里收到了一些字符串格式的 JSON,據(jù)我了解,我可以使用類文件將 JSON 轉(zhuǎn)換為 POJO。數(shù)據(jù)提供者提供了@JsonProperty我設(shè)法將 JSON 轉(zhuǎn)換為 POJO 的類。我的問題是,是否可能只有一個包含所有類的嵌套 java@JsonProperty類?而不是有單獨的類,其中有很多。json字符串:{ "BillingAccount": { "AccountType": "Trial", "AccountBalance": 999.99, "TransactionCost": 999.99, "ExtraInformation": {} }, "Request": { "RequestGuid": "abcde", "PackageId": "abcde", "PackageVersion": 2, "ResponseVersion": 2, "DataKeys": { "Vrm": "example" } }}BillingAccount.javapublic class BillingAccount{ @JsonProperty("AccountType") public String accountType; @JsonProperty("AccountBalance") public double accountBalance; @JsonProperty("TransactionCost") public double transactionCost; @JsonProperty("ExtraInformation") public ExtraInformation extraInformation;}數(shù)據(jù)鍵.javapublic class DataKeys{ @JsonProperty("Vrm") public String vrm;}請求.javapublic class Request{ @JsonProperty("RequestGuid") public String requestGuid; @JsonProperty("PackageId") public String packageId; @JsonProperty("PackageVersion") public int packageVersion; @JsonProperty("ResponseVersion") public int responseVersion; @JsonProperty("DataKeys") public DataKeys dataKeys;}POJO.javapublic class POJO { @JsonProperty("BillingAccount") public JSONSorter.BillingAccount billingAccount; @JsonProperty("Request") public JSONSorter.Request request;}理想解決方案:如您所見,JSONSorter 類包含其他類。所以在創(chuàng)建 POJO 時,我會調(diào)用 publicJSONSorter.Request request;而不是只調(diào)用 Request。這是一個理想解決方案的原因是因為 Request 類可能具有不同的屬性,具體取決于正在檢索的數(shù)據(jù)集。因此,與其擁有 Request1、Request2、Request3,不如擁有 JSONSorter1、JSONSorter2、JSONSorter3。其中每一個都將包含要檢索的數(shù)據(jù)所需的類。
1 回答

POPMUISE
TA貢獻(xiàn)1765條經(jīng)驗 獲得超5個贊
您理想的解決方案應(yīng)該有效。唯一缺少的是使內(nèi)部類靜態(tài)。它們必須是靜態(tài)的,以便您的 JSON 反序列化程序可以實例化它們,而無需將它們附加到 JSONSorter 的現(xiàn)有實例。
添加回答
舉報
0/150
提交
取消