🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# GSON – 序列化和反序列化 JSON 为集 > 原文: [https://howtodoinjava.com/gson/gson-serialize-deserialize-set/](https://howtodoinjava.com/gson/gson-serialize-deserialize-set/) 了解如何在 Java 中使用 Google GSON 库反序列化或**解析 JSON 为集**(例如[`HashSet`](https://howtodoinjava.com/java/collections/java-hashset/))。 另外,学习**序列化集为 JSON**。 > 值得一提的是,仅当`Set`是根元素时,我们才会做出额外的努力。 Gson 作为成员(在根下)可以很好地处理这些集。 ## 1.序列化集为 JSON Java 程序使用`Gson.toJson()`方法将`HashSet`序列化为 JSON。 ```java Set<String> 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<HashSet<String>>(){}.getType(); Set<String> userSet = gson.fromJson(jsonString, setType); System.out.println(userSet); ``` 程序输出: ```java ["Alex","Brian","Charles"] ``` 向我提供有关**在 Java 中解析和反序列化 json 为集**的问题。 学习愉快! 参考文献: [GSON Github](https://github.com/google/gson)