我通过使用此代码将csv转换为json架构时收到此错误

时间:2015-01-07 10:53:33

标签: java json csv mapping converter

MappingIterator<Map<?, ?>> mappingIterator = csvMapper.reader(Map.class).with(bootstrap).readValue(file.getInputStream());

以上代码会抛出此错误:

java.util.LinkedHashMap cannot be cast to com.fasterxml.jackson.databind.MappingIterator

3 个答案:

答案 0 :(得分:0)

代码csvMapper.reader(Map.class).with(bootstrap).readValue(file.getInputStream());返回LinkedHashMap。但MappingIterator无法保留LinkedHashMap

虽然不确定,但请尝试显式转换,如下所示:

(MappingIterator)(csvMapper.reader(Map.class).with(bootstrap).readValue(file.getInputStream()));

答案 1 :(得分:0)

我从directly convert CSV file to JSON file using the Jackson library

获得的示例遇到了同样的问题

您使用的是哪个版本的jackson databind和dataformat库?有一个方法readValues(InputStream)返回MappingIterator。但似乎版本之间的区域有一些变化。

答案 2 :(得分:0)

发生这种情况是因为获取MappingInteratos的方法是readValues而不是readValue。

第二种方法“ readValue”(不带“ s”)用于从架构中读取单个值。