使用gson将json转换为以多个单词为关键字的pojo类

uklbhaso  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(248)

我有这样的json:

{
    "Cell No": "",
    "Landline No": "",
    "FFCD": "243594",
    "Utility Code": "NSCH00000000022820",
    "Email ID": "",
    "Change Reason": "AC1-Default Ack Reason",
    "Category Code": "GH99"
}

我想使用gson将上面的json转换成下面的pojo。

class SponsorMandate{
    private String cellNo;
    private String landlineNo;
    private String ffcd;
    private String utilityCode;
    private String emailId;
    private String changeReason;
    private String categoryCode;
}

我的以下代码不起作用:

Gson gson = new Gson();
String jsonElement = gson.toJson(rowData);
System.out.println("print json" + jsonElement);

SponsorMandate sponsorMandateFileRow =
        gson.fromJson(jsonElement,SponsorMandate.class);
uxhixvfz

uxhixvfz1#

正如您需要使用的 @SerializedName 不是因为“很多单词键”,而是例如 ffcd 在json中是不同的情况。注解与json中完全相同的名称gson能够解析它:

@Getter @Setter
class SponsorMandate {
    @SerializedName("Cell No")
    private String cellNo;
    @SerializedName("Landline No")
    private String landlineNo;
    @SerializedName("FFCD")
    private String ffcd;
    @SerializedName("Utility Code")
    private String utilityCode;
    @SerializedName("Email ID")
    private String emailId;
    @SerializedName("Change Reason")
    private String changeReason;
    @SerializedName("Category Code")
    private String categoryCode;
}

相关问题