MappingIterator<Map<?, ?>> mappingIterator = csvMapper.reader(Map.class).with(bootstrap).readValue(file.getInputStream());
以上代码会抛出此错误:
java.util.LinkedHashMap cannot be cast to com.fasterxml.jackson.databind.MappingIterator
答案 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”)用于从架构中读取单个值。