#java #json #gson #pojo
#java #json #gson #pojo
Вопрос:
У меня есть JSON, подобный этому:
{
"Cell No": "",
"Landline No": "",
"FFCD": "243594",
"Utility Code": "NSCH00000000022820",
"Email ID": "",
"Change Reason": "AC1-Default Ack Reason",
"Category Code": "GH99"
}
Я хочу преобразовать выше json в ниже POJO, используя gson.
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);
Комментарии:
1. В чем ваш вопрос?
2. @YaroslavFyodorov, скорее всего, запрашивает OP
@SerializedName
.
Ответ №1:
Как указано, вам нужно использовать @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;
}