問題描述:
嘗試🎜>問題描述:
嘗試🎜>問題描述:
嘗試反序列化包含使用者的JSON 物件時data,為Gson 編寫的自訂解串器遇到困難。反序列化過程涉及將 JSON 列表轉換為 Java User 對象,但當前實作無法如預期運行。這提示需要了解如何為 Gson 編寫自訂 JSON 反序列化器。建議的解決方案:
有效地將JSON 物件反序列化為給定類別的Java 對象,例如User,可以實現自訂的解串器。此過程涉及重寫擴展 JsonDeserializer 介面的專用類別中的反序列化方法。在此方法中,可以解析 JSON 資料並將其轉換為適當的 Java 物件結構。class UserDeserializer implements JsonDeserializer<User> { @Override public User deserialize(JsonElement json, Type type, JsonDeserializationContext context) throws JsonParseException { JsonObject jsonObject = json.getAsJsonObject(); User user = new User(); user.setId(jsonObject.get("id").getAsInt()); user.setName(jsonObject.get("name").getAsString()); user.setUpdateDate(jsonObject.get("updateDate").getAsLong()); return user; } }
以下是從 JSON 到 User的轉換物件:
GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(User.class, new UserDeserializer());
以上是如何在 Gson 中使用自訂反序列化器解決 JSON 反序列化問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!