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


Gson 是 Google 为 Java 创建的一个 JSON 库。通过使用 Gson,我们可以生成 JSON 并且转换 JSON 至 Java 对象。我们可以通过创建一个 GsonBuilder 实例并用 create() 方法来调用来创建一个 Gson 实例。我们可以通过 TypeToken 类来解析一个没有重复键的 JSON。如果我们希望为 Map 创建一个类型文字,我们可以创建一个匿名内部类。如果我们尝试插入重复键,它将在运行时生成错误,“主线程异常“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}

更新于:2020-07-06

1000+ 浏览次数

开启你的 职业生涯

通过完成这门课程获得认证

开始
广告