如何使用泛型类型

时间:2016-11-28 13:08:18

标签: android json generics gson

我有这样的JSON结构。

{
  "1.1": {
    "image": "image.jpg",
    "value": [
      {
        "1": {
          "name": "step 1",
          "values": [
            {
              "name": "string value",
              "value": "100"
            },
            {
              "name": "string value",
              "value": "120"
            }
          ]
        },
        "2": {
          "name": "Step 2",
          "values": [
            {
              "name": "string value 1",
              "value": "0.08"
            },
            {
              "name": "string value 2",
              "value": "0.04"
            }
          ]
        },
        "3": {
          "name": "Step 3",
          "values": [
            {
              "name": "string value 1",
              "value": "0.08"
            },
            {
              "name": "string value 2",
              "value": "0.02"
            }
          ]
        }
      },
      {
        "1": [
          {
            "name": "name 1",
            "image": "image_conf.jpg",
            "value": "0.036"
          },
          {
            "name": "name 2",
            "image": "conf_two_four.jpg",
            "value": "0.039"
          },
          {
            "name": "name 3",
            "image": "conf_four.jpg",
            "value": "0.038"
          }
        ]
      },
      {
        "1": {
          "name": "name ",
          "values": [
            {
              "name": "string name",
              "value": "0"
            },
            {
              "name": "string name",
              "value": "40"
            }
          ]
        }
      },
      {
        "formula": "formula"
      }
    ]
  }

我想使用泛型类型,但我不知道如何使用Gson解析该结构。

我做到了这一点。 (我有多个对象 - “1.2”,“1.3”等等。

public class Warm<T> {

    public Warm() {}

    public String image;
    public String name;
    public T value;

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public T getValue() {
        return value;
    }

    public void setValue(T value) {
        this.value = value;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

0 个答案:

没有答案