在Gson中解析数组 - 每个对象都有一个标识符 - 2月14日

时间:2018-02-14 13:20:26

标签: java gson

我有以下JSON字符串,我正在尝试使用Google gson解析它。我尝试了多个选项,但无法将其映射到java pojo。

JSON字符串:

[ 
  {
    DRIVER:  {
               "name" : "Tom",
                "age" : 23
             }
  },
  {
     DRIVER :
      {
         "name" : "Dick",
          "age" : 25
      }
  }
]

任何人都可以帮助指导我如何解析这种json字符串。当JsonArray中的每个JsonObject包含一个linkedhashmap时,我陷入困境。

1 个答案:

答案 0 :(得分:0)

您需要包装类来将数据映射到。以下是根据您提供的JSON的工作代码。

 public static void main(String[] args) {
        String json = "YOUR JSON STRING"
        Gson gson = new Gson();
        DataWrap[] data = gson.fromJson(json, DataWrap[].class);
        System.out.println(data[0].getDRIVER().getAge());

    }


    public static class DataWrap {

        private Driver DRIVER;

        public Driver getDRIVER() {
            return DRIVER;
        }

        public void setDRIVER(Driver DRIVER) {
            this.DRIVER = DRIVER;
        }
    }

    public static class Driver {
        private String name;
        private int age;

        public String getName() {
            return name;
        }

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

        public int getAge() {
            return age;
        }

        public void setAge(int age) {
            this.age = age;
        }
    }