java.lang.ClassCastException:java.util.LinkedHashMap无法转换为com.testing.models.Account

2024-04-17

我收到以下错误:

java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.testing.models.Account

用下面的代码

final int expectedId = 1;

Test newTest = create();

int expectedResponseCode = Response.SC_OK;

ArrayList<Account> account = given().when().expect().statusCode(expectedResponseCode)
    .get("accounts/" + newTest.id() + "/users")
    .as(ArrayList.class);
assertThat(account.get(0).getId()).isEqualTo(expectedId);

我有什么理由做不到吗get(0)?


这个问题来自杰克逊。当它没有足够的信息来了解要反序列化到哪个类时,它会使用LinkedHashMap.

由于您没有告知杰克逊您的元素类型ArrayList,它不知道您想要反序列化为ArrayList of Accounts。所以它会恢复到默认值。

相反,你可能可以使用as(JsonNode.class),然后处理ObjectMapper以比安心所允许的更丰富的方式。像这样的东西:

ObjectMapper mapper = new ObjectMapper();

JsonNode accounts = given().when().expect().statusCode(expectedResponseCode)
    .get("accounts/" + newClub.getOwner().getCustId() + "/clubs")
    .as(JsonNode.class);


//Jackson's use of generics here are completely unsafe, but that's another issue
List<Account> accountList = mapper.convertValue(
    accounts, 
    new TypeReference<List<Account>>(){}
);

assertThat(accountList.get(0).getId()).isEqualTo(expectedId);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.ClassCastException:java.util.LinkedHashMap无法转换为com.testing.models.Account 的相关文章

随机推荐

  • C++ 无法将指针对中的指针初始化为 NULL

    我正在使用 g 4 4 7 进行编译 目前不能再更高 并使用 std gnu 0x编译器开关 它应该允许第三行的语法 typedef std vector
  • & 的用途是什么

    以下 URL 的行为有什么不同吗 我不知道为什么 amp 插入了 有什么区别吗 www testurl com test param1 test amp current true versus www testurl com test pa
  • 使用 jQuery 在单击另一个音频文件时停止/暂停音频

    我创建了一个网站 其中包含我拍摄的人物的图像缩略图 当访问者单击其中一个缩略图时 将使用 jQuery 显示完整图像 并播放音频介绍 我对每个缩略图 图像组合都有不同的音频介绍 目前有 15 个 每天都会添加更多 我想确保 如果访问者在上一
  • 如何在Python中初始化嵌套字典

    我正在使用 Python v2 7 字典 将一个字典嵌套在另一个字典中 如下所示 def example format str year value format to year to value dict In the actual co
  • .NET 4:托管代码本身会导致堆损坏吗?

    我的多线程托管程序中出现堆损坏 进行一些测试后 我发现仅当后台线程在程序中处于活动状态 它们是可切换的 时才会发生损坏 这些线程使用一些第三方组件 在检查了线程和第 3 方组件的代码 使用 NET Reflector 后 我发现它们都是托管
  • 我的答案是用相同的代码改变的[重复]

    这个问题在这里已经有答案了 我是一个完全的Python初学者 我正在尝试解决这个问题 如果一个数是前 n 个正数之和 则该数称为三角数 某些 n 的整数 例如 10 是三角形 因为 10 1 2 3 4 21 是三角形 因为 21 1 2
  • C# WPF OpenFileDialog 在 XP 中导致崩溃,但在 Vista 中则不然

    我有一个 WPF 应用程序 可以在我的 Vista 开发计算机上正常运行 但不能在生产 XP 机器上运行 唯一的问题是调用 OpenFileDialog Show 一旦我调用该方法 应用程序就会在 XP 盒子上终止 该问题不会触发异常 我已
  • Linq 中按子集合中的最小值对父集合进行排序

    Parent List
  • 如何平滑分段的斑点?

    我收到一些闪烁 锐线 以及分段斑点 如何减少它们以使边界更平滑 为了更清楚起见 我附上了带有输入和预期输出的图像 请注意 它是二进制图像 我没有原始图像 灰色 输入是二进制的 我尝试过高斯模糊 但该方法使我的形状变小 mask ndimag
  • 无法通过模块查看或修改 PYTHONHASHSEED 的值

    试图看到的价值PYTHONHASHSEED https docs python org 3 4 using cmdline html highlight pythonhashseed envvar PYTHONHASHSEED通过使用 th
  • Angular2 和禁用按钮异常

    在我的代码中 我有一个按钮 只要表单无效或不脏 该按钮就会被禁用 I have
  • 如何在VB.net中使用字典?

    我编写了这个函数来自动将字符串数组中的不同值的性别更正为 M 或 F 它工作得很好 但我的经理告诉我使用字典 他说这更有效 但我不知道 有人愿意帮助我了解如何做到这一点吗 谢谢 Public Function AutoGender ByVa
  • 获取任何枚举值的扩展方法

    我一直在尝试创建一个适用于任何枚举的扩展方法 以返回其值 而不是这样做 Enum GetValues typeof BiasCode Cast
  • 与查找数据集连接后进行多列值查找

    我正在使用spark sql 2 4 1v如何根据列的值进行各种连接 我需要获得多个查找值map val给定值列的列 如下所示 样本数据 val data List 20 score school 2018 03 31 14 12 21 s
  • Google Tasks API:403 禁止,超出服务限制

    您好 Google Tasks API 团队 从几天前开始 我们就开始 403 Forbidden 对于我们的许多用户来说 您能检查一下发生了什么事吗 我们的 API 控制台很干净 calls 远低于配额 Caused by com goo
  • 分析 Windbg 中的故障转储

    我正在使用第三方闭源 API 它会抛出一个异常 指出 所有命名管道都忙 我想进一步调试 而不是单步调试 这样我就可以真正了解幕后发生的事情 我使用 WinDbg 转储了这个过程 我现在应该使用什么命令来分析此转储 Thanks 您可以开始执
  • 在联合查询中使用 Wikidata 标签服务

    我想知道是否可以在联合查询中使用维基数据标签服务 例如 以下查询 Query from a local SPARQL enpoint select item itemLabel where SERVICE
  • 如何计算 RectTransform 中的 sizeDelta?

    我编写了自定义布局所需的自定义内容适配程序 所以 我需要控制RectTransform sizeDelta当锚点不同时属性 但我无法显示该值 我不需要Unity3D API参考资料 我读了它 但什么也没得到 因为它只说 此 RectTran
  • minHeight 不适用于 Linearlayout 中的 Weight=“1”

    我想要一个视图 如果屏幕尺寸较小 则可以具有最小高度或wrap content 如果屏幕尺寸较大 则占据其余空间 该视图是其父视图的中间子视图 目前 我正在使用 LinearLayout 的权重 它在大屏幕上工作正常 但在小屏幕上它不显示视
  • java.lang.ClassCastException:java.util.LinkedHashMap无法转换为com.testing.models.Account

    我收到以下错误 java lang ClassCastException java util LinkedHashMap cannot be cast to com testing models Account 用下面的代码 final i