如何在Android中表示随机json对象

时间:2012-11-13 15:54:57

标签: android json

我在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(“一些随机字符串”)。想法?

1 个答案:

答案 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,所以我不确定它是否可以解决这个问题。但杰克逊可以。