之前,我們有以下課程public class Checklist { private final long id; private String text; private boolean checked; public Checklist(long id) { this.id = id; } public String getText() { return text; } public void setText(String text) { this.text = text; } public boolean isChecked() { return checked; } public void setChecked(boolean checked) { this.checked = checked; } public long getId() { return id; }}以下 json 操作(字符串到對象)效果很好。String string = "[{\"checked\":false,\"id\":0,\"text\":\"Boodschappen\"},{\"checked\":false,\"id\":1,\"text\":\"Melk\"}]";GsonBuilder builder = new GsonBuilder();final Gson gson = builder.create();List<Checklist> checklists = gson.fromJson(string, new TypeToken<List<Checklist>>() {}.getType());for (Checklist checklist : checklists) { System.out.println("--> " + checklist.getText());}現在,我們將該類“升級”到以下級別,以節省磁盤空間。public class Checklist { @SerializedName("i") private final long id; @SerializedName("t") private String text; @SerializedName("c") private boolean checked; public Checklist(long id) { this.id = id; } public String getText() { return text; } public void setText(String text) { this.text = text; } public boolean isChecked() { return checked; } public void setChecked(boolean checked) { this.checked = checked; } public long getId() { return id; }}但是,我們仍然希望能夠將舊的 json 字符串轉換回新的對象。String oldString = "[{\"checked\":false,\"id\":0,\"text\":\"Boodschappen\"},{\"checked\":false,\"id\":1,\"text\":\"Melk\"}]";我可以知道如何才能實現這一目標嗎?
1 回答

千萬里不及你
TA貢獻1784條經驗 獲得超9個贊
您可以將替代品作為參數傳遞給 SerializedName
@SerializedName(value = "fullName", alternate = "username")
添加回答
舉報
0/150
提交
取消