java - 如何反序列化String字符串的json映射

标签 java

我有如下 json

{
    "group": "Mygroup",
    "name1": "aaa",
    "name2": "bbb"

}

我知道我们可以反序列化为 map 。但是我们如何将它包装在对象内部,而不需要任何自定义反序列化器

 public class GroupInfo {
    private String group
    private Map<String, String> names; 

  }

最佳答案

Gson 提供了这种反序列化。您只需定义一个类,其字段与正在解析的 JSON 的 JSON 键相同。

关于使用 Gson 进行此用途的文章 - https://dzone.com/articles/deserializing-json-java-object Gson 仓库 - https://github.com/google/gson

如果您对 JSON 不感兴趣,我建议您研究一下 Protocol Buffers。 Protocol Buffers 开箱即用地提供这种类型的功能,与语言无关(无论如何在很大程度上),并且它们通常比 JSON 快得多。

Protocol Buffer - https://developers.google.com/protocol-buffers/docs/tutorials

关于java - 如何反序列化String字符串的json映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49062476/

相关文章:

java - Maven 未将 JAR 添加到 eclipse 项目

java - 用于捕获以逗号分隔的组排序的正则表达式

java - 使用 Java 的 cURL 应用程序

Java SQLException - ORA-0933 : command not properly ended

java - 用 Java 测量时间

java - 禁用 JTextField 的边框

java - 迭代器和 while 循环与 for 循环与 for-each 获取列表元素的性能

java - 从另一个 Android 应用程序将数据插入数据库

java - 线程 2 等待线程 1 完成才能启动 问题? java

java - 从 Java EE 应用访问外部配置文件