A Gson is a JSON library for Java, which is created by Google. By using Gson, we can generate JSON and convert JSON to Java objects. We can create a Gson instance by creating a GsonBuilder instance and calling with the create() method. We can parse a JSON without duplicate keys using the TypeToken class. If we want to create a type literal for Map, we can create an empty anonymous inner class. If we try to insert a duplicate key, it will generate an error at runtime, "Exception in thread "main" com.google.gson.JsonSyntaxException: duplicate key"
Syntax
public class TypeToken<T> extends Object
Example
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);
}
}Output
{123=abc, 124=def, 125=ghi}