当前位置: 首页 > 面试题库 >

尝试在Java中使用Jackson时出现的问题

葛泳
2023-03-14
问题内容

我正在尝试使用Jackson将一些JSON数据转换为Java对象(精确地说是对象列表),但出现此错误:

org.codehaus.jackson.map.JsonMappingException:无法反序列化objectlayerlayer的实例。START_ARRAY令牌之外的详细信息

这是代码:

 ObjectMapper mapper = new ObjectMapper(); 
 List<Detail> lcd = (List<Detail>) mapper.readValue(ld, Detail.class);

ld
是Json格式的列表,这是让我在jackson教程中感到困惑的部分。这是什么
新的文件(“user.json”) 代表什么?我以为这是我想要转换的json格式的字符串,所以才使用 ld

我希望你能帮助我


问题答案:

在您链接的教程中(其他集合的工作方式相同):

因此,如果要将数据绑定到地图中,则需要使用:

Map<String,User> result = mapper.readValue(src, new

TypeReference >() { });

其中仅需要TypeReference来传递通用类型定义(在这种情况下,通过任意内部类):重要的部分是>,它定义了要绑定的类型。

如果您不这样做(仅传递Map.class),则调用等效于绑定到Map(即“未键入”的Map),如上所述。

编辑:

如果您坚持要用勺子喂食:

List<Detail> lcd = mapper.readValue(ld, new TypeReference<List<Detail>>() {});


 类似资料:
  • 问题内容: 我有这个: 当我做一个我得到: 在probleme我有是附加在 有人可以帮忙吗,谢谢 问题答案: 尝试以下代码(已修复):

  • 我有一个简单的Hello World示例,它将Map传递给Camel,并通过Log4J将值显示到控制台。我想通过将Jackson库添加到我的Camel应用程序Context.xml来扩展这个示例,以JSON格式呈现这个映射 首先,我尝试将以下XML标记添加到我的applicationContext.xml中(如http://camel.apache.org/json.html大学“在Spring

  • 我试图执行一个简单的更新记录函数,但它给我一个错误,我找不到原因或任何其他人有它。 可以在以下位置找到示例测试项目:https://github.com/billbarni/jooq-studer-h2-test Java代码: 数据库创建表达式: 梯度发生器配置: Java在编译之前给了我这个错误: 在DSLContext中执行更新(R) 这个问题背后的原因是什么?我做错了什么? 观察。:我有2

  • 我在Oracle中有下面的SQL语句,这让我有些头疼。如果Oracle表中的值为null,我尝试返回一个空几何体,但是它失败了,出现以下错误: 错误 ** ORA-29532:Java调用被unpper终止Java异常:java.lang.NullPointerExcema ORA-06512: at"MDSYS.SDO_UTIL",第2421行ORA-06512: at"MDSYS.SDO_UT

  • 我的项目正在尝试使用aws-java-sdk-1.11.15将文件上传到Amazon S3。我正在使用ant在CLI上构建我的项目。我使用的杰克逊版本是2.8.0。我正在将我的lib文件夹添加到我的类路径中。我所有的jar文件都在我的lib文件夹中。我在运行我的代码时得到以下信息- 对于这段代码- 错误在s3client中。putObject(新PutObjectRequest(bucketNam

  • 我读了一些关于如何优化正则表达式的文章,但是没有一个答案(更少的组,使用{X,Y}而不是*)似乎阻止了我的正则表达式获得堆栈溢出错误。 我正在尝试通过文件进行动态搜索。假设我正在一个相当大(2-4MB)的文件中搜索“我打赌你找不到我”。我的正则表达式生成器将生成正则表达式: 这个正则表达式的想法是,无论单词之间有什么字符或空格,它都能找到准确的短语。然而,当我尝试使用: 我遇到堆栈溢出错误。我知道