如何在Java中使用Gson解析没有重复键的JSON?
一个GSON 是一个JSON库,Java,它是由谷歌创建的。通过使用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}