java - 使用 Gson 序列化时如何公开类名

标签 java json gson

我的场景非常复杂,但总结如下:

我试图了解编译器的源代码 - 并了解每个 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/

相关文章:

java - JButton更新标签

java - spring security 未调用 loadUserByUsername() 方法

json - 在Play中自定义JSON序列化

java - Android布局文件不允许&、<、>等字符

java - 本地PC无法读取同一网络中其他PC的套接字

javascript - LocalStorage - 按值而不是键删除项目?

javascript - 错误 : There was an error loading firebase. json : Bolt not installed, 运行 npm install -g firebase-bolt

javascript - 是否可以仅在它们共享的键/属性之间比较两个对象?

java - Gson 反序列化为 List<Object>,其中列表的通用类型作为类名给出

java - 如何将 AIResponse gson 转换为可在 Text to Speech 上使用的文本?