如何使用 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}