在没有模型的情况下使用GSON解析JSON

Maa*_*ten 5 java json gson

假设您有一个JSON对象:

{
  "mappings": {
    "s54dsf45fzd324": "135sdq13sod1tt3",
    "21sm24dsfp2ds2": "123sd56f4gt4ju4"
  }
}
Run Code Online (Sandbox Code Playgroud)

您对映射对象唯一了解的是它将字符串映射到字符串,但您不知道键值.

是否可以使用GSON解析此对象并循环键/值对?

Bra*_*raj 5

只需尝试使用TypeToken它将返回一个Map<String, Map<String, String>>类型.

Reader reader=new BufferedReader(new FileReader(new File("resources/json.txt")));

Type type = new TypeToken<Map<String, Map<String, String>>>() {}.getType();
Map<String, Map<String, String>> data = new Gson().fromJson(reader, type);

// pretty printing 
System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(data));
Run Code Online (Sandbox Code Playgroud)

输出:

{
    "mappings": {
      "s54dsf45fzd324": "135sdq13sod1tt3",
      "21sm24dsfp2ds2": "123sd56f4gt4ju4"
    }
}
Run Code Online (Sandbox Code Playgroud)