如何使用 Java 中的 Gson 解析没有重复键的 JSON?

javajsonobject oriented programmingprogramming

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

语法

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}

相关文章