【发布时间】:2014-06-21 17:41:40
【问题描述】:
我正在尝试使用 GSON 将一些 Json 反序列化为一个漂亮、整洁的对象。现在,我已经设法让 Json 正确映射到一些更明显的变量。但是,在尝试映射一些 Json 时,我遇到了这个问题:
{
"this_number": 1,
"that_number": 12,
"some_string": "String!",
"list_of_objects": {
"342356676784653234535345": {
"random_double": "0.1235667456456",
"magic": "29",
"health": 1,
"price": 7,
"point": {
"x": 2,
"y": 70
}
},
"2345263767467354": {
"random_double": "0.1235667456456",
"magic": "23",
"health": 1,
"price": 9,
"point": {
"x": 0,
"y": 70
}
}
}
}
在我来到"list_of_objects" 之前,它的映射很好。我一生都无法弄清楚如何实施它。我认为主要问题是它们不再是静态类名,它们是随机的。因此,写这样的东西是完全不切实际的(也是不可能的):
class 342356676784653234535345{
double random_double = 0.0;
//etc
}
我浏览了 Stackoverflow,但答案似乎很复杂,而且很多人并没有完全回答我想知道的问题。
我已经尝试过使用 here 的普通 Object 方法,但我找不到任何有关其用法的更多信息。
我也一直在寻找映射到泛型类型的引用,但我不太明白发生了什么。 For example
【问题讨论】:
-
如果这些只是类实例的名称,请使用
Map<String, YourType>并将YourType实现为具有字段random_double等。