如何在不创建额外 类 的情况下使用 Gson 访问双嵌套 Json 字段

How to access double nested Json field with Gson without creating additional classes

所以我有下面的 JSON,我正在尝试用 Gson 库解析它。

{"id":"1",
"categoes":{
    "cars":"toyota",
    "airplanes":"airplane",
    "other_types":
        {"ships":{
                  "ice":"icebreakers"
                 }
        }
    }
}

我只想获取“ice”字段的键和值,而不是只创建一个 Java class。

我该怎么做?

谢谢!

Gson 有一个名为 JsonObject 的预定义 class,它允许您从 JSON 字符串中获取元素。这是一种(不是很漂亮)的方法:

Gson gson = new Gson();
JsonObject jobj = gson.fromJson(json, JsonObject.class);
        System.out.println(jobj.getAsJsonObject("categoes").getAsJsonObject("other_types").getAsJsonObject("ships").get("ice").getAsString());