我在Android应用中使用以下库 - > Google/Gson. 我无法弄清楚如何将以下json String表示为适当的类来抽象它。
"random_chunks": [
{
"2013-01-01T10:00:00+00:00": {
"available": 61,
"in_inventory": 61,
"in_service": 61,
"percent_in_inventory_available": 100,
"percent_in_service_available": 100
}
},
基本上我们有一个名为“random_chunks”的数组,其中包含一个动态名称为“2013-01-01T10:00:00 + 00:00”的对象。
这就是我的想法:
public class RandomChunks {
@SerializedName("random_chunks")
private foo[] chunks;
public class foo extends Object {
// Here is where I get stuck
}
如何定位此随机名称?我不能说@SerializedName(“一些随机字符串”)。想法?
答案 0 :(得分:0)
你的结构有点奇怪,浓缩:
"random_chunks": [
{
"2013-01-01T10:00:00+00:00": { }
} ,
.... ]
在我看来,更自然的表达方式是直接使用字段:
"random_chunks": {
"2013-01-01T10:00:00+00:00": { },
"2012-01-01T10:00:00+00:00": { },
...
}
上面的JSON是一张地图,即randomChunks = Map<String, Stuff>
在您的情况下,由于您无法更改格式,我相信将其表示为地图数组是可能的(但不是很干净):
private Map<String, Stuff>[] weirdObjects;
实际上,所有这些地图都会非常无聊并且只有一个键,即您正在寻找的一个字段。它不是表达它的最有效方式,但似乎就是你得到的。
注意:我不是那个熟悉GSON,所以我不确定它是否可以解决这个问题。但杰克逊可以。