java - jackson 在通用列表中读取 json

我正在使用 Jackson 来读取 json 消息。我试图解析的值之一是 List,另一个值包含列表中数据的类型。这是我在 java 中创建的结构。

public class Message<T> {
   private Timestamp time;
   private RestAction action;
   private String type;
   private List<T> data;
}

通过 Class.forName(); 我可以得到代表列表中数据的类。问题是我如何阅读列表。

最佳答案

更短的东西:

mapper.readValue(jsonString, new TypeReference<List<EntryType>>() {});

在哪里 EntryType是对您希望在集合中保存的类型的引用。它可能是任何 Java 类。 例如读取 JSON 表示,例如 ["a", "b", "c"] mapper 的第二个参数应该是 new TypeReference<List<String>>() {}

关于java - jackson 在通用列表中读取 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17979346/

相关文章:

json - 已启用 CORS,但在 POST JSON 时,预检响应的 HTTP 状态代码 404

javascript - 无法重新初始化 JQuery DataTable

eclipse - Jersey :找不到 Java 类和 MIME 媒体类型应用程序/json 的

java - 如何在 JAVA 中对 JSONArray 进行排序

ruby-on-rails - 为什么在 Ubuntu 中安装 JSON gem 时会出错?

c# - 分配给单个属性的多个 JsonProperty 名称

javascript - 来自json对象的Angular.js格式日期

c++ - JSONCPP 写入文件

c# - 如何使用 C#/LINQ 将 XML 转换为 JSON?

javascript - 通过 AJAX 和 jQuery 从 PHP 数组中获取数据