枚舉類型(enum)是一組常量的集合,它在代碼中往往代表某種狀態或類型。在 Java 中,我們可以使用 enum 類型來定義枚舉常量。在 web 開發中,JSON 序列化是常見的操作之一,針對枚舉類型的序列化需要使用特定的方法。
下面的代碼演示了如何將枚舉類型序列化為 JSON。
public enum CarType { SEDAN, SUV, HATCHBACK } public class Car { private String make; private String model; private CarType type; // getters and setters } public class CarSerializer implements JsonSerializer{ @Override public JsonElement serialize(Car car, Type type, JsonSerializationContext context) { JsonObject object = new JsonObject(); object.addProperty("make", car.getMake()); object.addProperty("model", car.getModel()); object.addProperty("type", car.getType().toString()); return object; } } // 使用 Gson 序列化 Car 對象 GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(Car.class, new CarSerializer()); Gson gson = builder.create(); String json = gson.toJson(car); System.out.println(json);
在上面的代碼中,我們定義了一個名為Car
的類,并使用CarType
枚舉類型作為其中一個屬性的類型。然后,我們編寫了一個實現了JsonSerializer
接口的CarSerializer
類來進行序列化,該類在序列化Car
對象時將類型轉換為字符串類型再進行序列化。
最后,我們注冊了CarSerializer
類并使用 Gson 序列化器將Car
對象轉換為 JSON 格式的字符串。