java 嵌套类转json_使用嵌套类将JSON转换为POJO

我从数据提供者那里接收到一些字符串格式的JSON,据我所知,我可以使用类文件将JSON转换为POJO。数据提供程序提供

@JsonProperty

我已经成功地将JSON转换成POJO的类,我的问题是,是否只有一个嵌套的Java类包含所有的

@ JsonProperty

课堂?而不是有单独的类,其中有许多类。

Json String:

{

"BillingAccount": {

"AccountType": "Trial",

"AccountBalance": 999.99,

"TransactionCost": 999.99,

"ExtraInformation": {}

},

"Request": {

"RequestGuid": "abcde",

"PackageId": "abcde",

"PackageVersion": 2,

"ResponseVersion": 2,

"DataKeys": {

"Vrm": "example"

}

}

}

billingaccount.java软件

public class BillingAccount

{

@JsonProperty("AccountType")

public String accountType;

@JsonProperty("AccountBalance")

public double accountBalance;

@JsonProperty("TransactionCost")

public double transactionCost;

@JsonProperty("ExtraInformation")

public ExtraInformation extraInformation;

}

DATAKEY.Java

public class DataKeys

{

@JsonProperty("Vrm")

public String vrm;

}

请求程序

public 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;

}

爪哇

public class POJO {

@JsonProperty("BillingAccount")

public JSONSorter.BillingAccount billingAccount;

@JsonProperty("Request")

public JSONSorter.Request request;

}

理想解决方案:

如您所见,有一个JSonsorter类,它包含其他类。所以当创建pojo时,我会称之为public

JSONSorter.Request request;

而不是直接呼叫请求。这是一个理想的解决方案,因为请求类可能具有不同的属性,这取决于正在检索的数据集。因此,请求3不是拥有请求1、请求2,而是拥有JSonsorter1、JSonsorter2、JSonsorter3。每个类都包含要检索的数据所必需的类。

public class JSONSorter {

public 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;

}

public class DataKeys {

@JsonProperty("Vrm")

public String vrm;

}

public class BillingAccount {

@JsonProperty("AccountType")

public String accountType;

@JsonProperty("AccountBalance")

public double accountBalance;

@JsonProperty("TransactionCost")

public double transactionCost;

@JsonProperty("ExtraInformation")

public ExtraInformation extraInformation;

}

}


版权声明:本文为weixin_39916511原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。