我正在尝试通过GSON序列化和反序列化接口内部的枚举。 如果有人有东西,请帮忙。 在此先感谢.. :))
这是我的界面..
public interface Module {
@Expose
public enum CATEGORY {
INPUT,
OUTPUT,
LIGHTS,
COMMUNICATION,
...
}
@Expose
public enum TYPE {
INPUT,
OUTPUT,
ANALOG,
DIGITAL,
...
}
}
答案 0 :(得分:0)
试试这个:
Module.CATEGORY m = Module.CATEGORY.COMMUNICATION;
Gson gson = new Gson();
System.out.println(gson.toJson(m));
这将打印您的枚举器名称,
答案 1 :(得分:0)
请尝试以下代码。
public class Tester {
public static void main(String[] args) {
Module.CATEGORY comm = Module.CATEGORY.LIGHTS;
Gson gson = new Gson();
String json = gson.toJson(comm);
if (gson.fromJson(json, Module.CATEGORY.class) == Module.CATEGORY.LIGHTS)
System.out.println("It works!");
}
}
打印:
有效!
通过。
序列化您的枚举public interface Module {
public enum CATEGORY implements Serializable {
INPUT,
OUTPUT,
LIGHTS,
COMMUNICATION
}
public enum TYPE implements Serializable {
INPUT,
OUTPUT,
ANALOG,
DIGITAL
}
}