# GSON – 序列化和反序列化 JSON 以进行设置 > 原文: [https://howtodoinjava.com/gson/gson-serialize-deserialize-set/](https://howtodoinjava.com/gson/gson-serialize-deserialize-set/) 了解如何使用 Google GSON 库反序列化或**解析 JSON 以在 Java 中设置**(例如 [HashSet](https://howtodoinjava.com/java/collections/java-hashset/) )。 另外,学习**序列化 Set 为 JSON** 。 > 值得一提的是,仅当`Set`是根元素时,我们才会做出额外的努力。 Gson 作为成员(在根下)可以很好地处理这些集。 ## 1.序列化设置为 JSON Java 程序**使用 **Gson.toJson()**方法将 HashSet 序列化为 JSON** 。 ```java Set userSet = new HashSet<>(); userSet.add("Alex"); userSet.add("Brian"); userSet.add("Charles"); Gson gson = new Gson(); String jsonString= gson.toJson(userSet); System.out.println(jsonString); ``` 程序输出。 ```java ["Alex","Brian","Charles"] ``` ## 2.反序列化 JSON 以进行设置 Java 程序,使用 **Gson.fromJson()**方法和[`TypeToken`](https://static.javadoc.io/com.google.code.gson/gson/2.8.5/com/google/gson/reflect/TypeToken.html)将 JSON 反序列化为 HashSet 。 ```java import java.lang.reflect.Type; import java.util.HashSet; import java.util.Set; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; String jsonString = "['Alex','Brian','Charles','Alex']"; Gson gson = new Gson(); Type setType = new TypeToken>(){}.getType(); Set userSet = gson.fromJson(jsonString, setType); System.out.println(userSet); ``` 程序输出: ```java ["Alex","Brian","Charles"] ``` 向我提供有关**解析和反序列化 json 以在 Java 中设置**的问题。 学习愉快! 参考文献: [GSON Github](https://github.com/google/gson)