我的场景非常复杂,但总结如下:
我试图了解编译器的源代码 - 并了解每个 AST 节点代表什么,我正在生成不同程序的 AST 的 JSON 序列化,然后检查可视化的 JSON 输出。
它工作得很好,除了一个问题是在 Gson 中生成的 JSON 数据类名称没有被提及,所以它仍然没有多大帮助。有没有一种方法可以轻松地将类名添加到 Gson 输出中? (无需向每个 AST 节点等添加一些方法)
最佳答案
您还可以使用Genson要将对象的类名添加到输出的 json 中,只需执行以下操作:
Genson genson = new Genson.Builder().setWithClassMetadata(true).create();
String json = genson.serialize(yourNode);
好处是它使您能够反序列化回这些具体类型。 请参阅wiki了解更多详情。
关于java - 使用 Gson 序列化时如何公开类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19129711/