如何将JSON字符串转换为Java对象的List?

2023-12-15

这是我的 JSON 数组:-

[ 
    {
        "firstName" : "abc",
        "lastName" : "xyz"
    }, 
    {
        "firstName" : "pqr",
        "lastName" : "str"
    } 
]

我的 String 对象中有这个。现在我想将它转换为Java对象并将其存储在java对象的List中。例如在学生对象中。 我正在使用下面的代码将其转换为 Java 对象列表:-

ObjectMapper mapper = new ObjectMapper();
StudentList studentList = mapper.readValue(jsonString, StudentList.class);

我的列表类是:-

public class StudentList {

    private List<Student> participantList = new ArrayList<Student>();

    //getters and setters
}

我的学生对象是:-

class Student {

    String firstName;
    String lastName;

    //getters and setters
}

我在这里错过了什么吗? 我遇到以下异常:-

Exception : com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of com.aa.Student out of START_ARRAY token

你要求杰克逊解析一个StudentList。告诉它解析一个List(学生)代替。自从List是通用的,您通常会使用类型参考

List<Student> participantJsonList = mapper.readValue(jsonString, new TypeReference<List<Student>>(){});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将JSON字符串转换为Java对象的List? 的相关文章

随机推荐

  • 实体框架 - 手动添加导航属性

    我从我的数据库生成了一个实体框架模型 4 0 我没有设计数据库 并且对模式没有任何控制 但是有一些表没有定义外键约束 但定义了隐式关系 例如 我有一个名为 People 的表 其中包含以下列 性别ID 种族ID 有性别和种族的表 但人员表中
  • 从组合框中获取所选项目或输入文本的最佳方式

    我有一个组合框 我预先填充了许多可能的选择 但我还希望打开该选项 供用户手动输入不属于选项之一的文本 因此 我将 DropDownStyle 设置为 DropDown 这样这是可能的 我的问题是 编写代码以返回用户选择或手动输入的值的最有效
  • Git - 如何查找特定分支的第一次提交

    在以下示例树中 A B C D E master branch F G H xxx branch 我正在寻找 F xxx 分支中的第一个提交 我认为有可能 git log xxx not master 最后列出的提交应该是 F 这是正确的解
  • 获取 JSF2 复合组件的父组件的 clientId

    我有以下代码
  • 保存和加载对象以及使用 pickle

    我正在尝试使用保存和加载对象pickle模块 首先我声明我的对象 gt gt gt class Fruits pass gt gt gt banana Fruits gt gt gt banana color yellow gt gt gt
  • documentdb 语法错误上的自连接

    我在 documentdb 上执行 SQL 有效自连接查询时遇到问题 所以下面的查询有效 SELECT FROM c AS c1 WHERE c1 obj car 但这个简单的自连接查询并没有 SELECT c1 url FROM c AS
  • 有没有办法在 JavaScript 中读取二进制数据?

    我想将二进制数据注入到 JavaScript 中的对象中 有没有办法做到这一点 i e var binObj new BinaryObject 101010100101011 有这样的效果 任何帮助都会很棒 您可以使用 parseInt v
  • MVC3 中没有母版页的渲染视图

    我的网站上有一些视图需要包含在起始页上 但是 仅使用 Html Renderaction 即可呈现母版页和整个 shebang 我将如何渲染内容 有几种方法 确保您从控制器返回 PartialView return PartialView
  • 构造函数参数的数量取决于整数模板

    我正在编写一个包装私有的容器存储类模板std array为了给它添加一些功能 该模板参数化值的数量 如下所示 template
  • 指定 mysqli bind_param 类型

    指定 mysqli bind param 类型的优点和缺点是什么i d s b 我将 UNIX 时间戳存储在数据类型为 INT 的数据库列中 在我准备好的声明中 我将其设置为bind param s timestamp 并且它存储值没有任何
  • 在给定索引和值列表的嵌套 Python 字典中设置值

    我正在尝试以编程方式在字典中设置一个值 可能是嵌套的 给定索引列表和值 例如 假设我的索引列表是 person address city 其值为 New York 我想要一个像这样的字典对象 Person address city New
  • 使用 JavaFX 播放 Youtube 视频

    我正在尝试使用 javaFX 播放 youtube 上的视频 这是我的代码 public class Main extends Application public static void main String args launch a
  • TypeScript 中“声明类”和“接口”有什么区别

    在 TypeScript 中 创建 d ts 源声明文件时 哪个更好 为什么 declare class Example public Method void or interface Example Method void 我可以看出的区
  • 如何从 lxc 挂载文件夹

    我有 lxc 它有一个正在运行的应用程序 要在自己的计算机 Ubuntu 13 10 上编辑此应用程序的代码 我想挂载一个目录lxc 如何才能做到这一点 例如 var lib lxc ubuntu 12 04 rootfs home 安装在
  • 简单密码程序中的错误(cryptography.fernet.InvalidToken)

    我正在用 Python 编写一个简单的密码程序 对于 Python 来说是新的 对于加密来说甚至是新的 其中用户帐户和密码被保存在字典中的文件中 我正在使用 Fernet 模块加密密码 添加用户工作正常 但是当我尝试解密密码时 我得到了cr
  • 我在使用 imwrite 时遇到错误

    我是图像处理新手 我想做的是调整图像大小并将其存储为 tif 格式 但命令窗口报告错误 您没有写入权限 我的代码是imwrite B myNewFile tif 运行后显示 使用 imwrite 时出错 第 10 行 无法打开文件 myNe
  • 从字符串末尾开始每 2 个字符之间添加一个空格

    我想在字符串末尾的每两个字符之前添加空格 str 9010201 结果应该是9 01 02 01 I tried chunk split and str split 但它仅从字符串的开头起作用 而从最后一个不起作用 使用简单strrev a
  • 在 Xcode 6 中选择不同的模拟器

    如何在 Xcode 6 中选择不同的模拟器 iOS 8 除外 我已经成功安装了 iOS 7 模拟器Xcode gt 首选项 gt 下载 但它没有在可用的运行模拟器中列出 有人知道如何在 Xcode 6 中安装 iOS7 模拟器吗 一旦安装了
  • 如何在 Java 中使用 .Net 程序集

    我想在 Java 应用程序中使用 Microsoft Net 程序集 有什么办法可以做到这一点吗 任何帮助将不胜感激 Java 和 Net 运行完全不同的系统 分别是 JVM 和 CLR 不可能直接将一个加载到另一个中并使用它 它们是不兼容
  • 如何将JSON字符串转换为Java对象的List?

    这是我的 JSON 数组 firstName abc lastName xyz firstName pqr lastName str 我的 String 对象中有这个 现在我想将它转换为Java对象并将其存储在java对象的List中 例如