首页 > 文章列表 > 如何在Java中使用Gson解析JSON时避免重复的键?

如何在Java中使用Gson解析JSON时避免重复的键?

json 解析 Gson
301 2023-09-06

Gson是一个由 Google 创建的 Java JSON 库。通过使用Gson,我们可以生成JSON并将JSON转换为Java对象。我们可以通过创建一个GsonBuilder实例并调用create()方法来创建一个Gson实例。我们可以使用 TypeToken 类解析没有重复键的 JSON。如果我们想为Map创建一个类型文字,我们可以创建一个空的匿名内部类。如果我们尝试插入重复的键,它将在运行时生成错误, "线程“main”com.google.gson.JsonSyntaxException 中出现异常:重复键"

语法

public class TypeToken<T> extends Object

示例

import java.lang.reflect.Type;
import java.util.Map;
import com.google.gson.*;
import com.google.gson.reflect.TypeToken;
public class JsonWithoutDuplicateKeysTest {
   public static void main(String args[]) throws Exception {
      String json = "{"123":"abc", "124":"def", "125":"ghi"}";
      Gson gson = new GsonBuilder().setPrettyPrinting().create();
      Type mapType = new TypeToken<Map<Integer, String>>() {}.getType();
      Map<String, String> map = gson.fromJson(json, mapType);
      System.out.println(map);
   }
}

输出

{123=abc, 124=def, 125=ghi}