【发布时间】:2013-01-31 17:13:17
【问题描述】:
我有一个对象列表,比如说:
List<Timestamp>
每个“Timestamp”对象都包含其他对象,特别是它有一个“Tag”对象。
class Timestamp {
String time;
...
Tag tag;
...
}
现在,每个 Tag 对象都由“整数”类型的 ID 标识。
class Tag {
Integer id;
...
}
出于几个原因,我必须使用 Gson 库将整个时间戳列表的 JSON 表示形式写入一个文件。在某些情况下,我需要每个标签的 ID 的十进制表示,而在其他情况下,我需要十六进制格式的 ID。
如何在两种格式之间“切换”?考虑到要编写 Timestamp 对象的整个列表,我使用以下指令:
ps.println(gson.toJson(timestamps));
我不能在 Tag 类中添加其他字段/类型/对象,因为 JSON 表示会不同。
【问题讨论】:
-
如果我理解正确,这似乎不是问题?如果在转换为 JSON 时,您希望
id是一个整数,它会是。所以......当您不将其转换为 JSON 并且需要十六进制 (String) 表示时,只需将id转换为该表示。 -
问题是我有一个日志文件,其中 ID 可以是整数或十六进制数字。在我的 java 代码中,我有类来关联我解析的对象。此类之一是标签,由于某些原因,id 必须是整数。但是,当日志文件具有十六进制格式的 ID 时会发生什么?我可以将它们解析为整数(根据我的 Tag 类),但我需要将它们导出回十六进制数字。