【问题标题】:I am getting this error while converting csv to json schema by using this code使用此代码将 csv 转换为 json 架构时出现此错误
【发布时间】:2015-03-05 06:00:34
【问题描述】:
MappingIterator<Map<?, ?>> mappingIterator = csvMapper.reader(Map.class).with(bootstrap).readValue(file.getInputStream());

以上代码抛出此错误:

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

【问题讨论】:

    标签: java json csv mapping converter


    【解决方案1】:

    这是因为获取 MappingIterator 的方法是 readValues 而不是 readValue。

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

    【讨论】:

      【解决方案2】:

      代码csvMapper.reader(Map.class).with(bootstrap).readValue(file.getInputStream()); 返回LinkedHashMap。但是MappingIterator 不能容纳LinkedHashMap

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

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

      【讨论】:

        【解决方案3】:

        我从directly convert CSV file to JSON file using the Jackson library 获得的示例遇到了同样的问题

        您使用的是哪个版本的 jackson 数据绑定和数据格式库?有一个方法readValues(InputStream) 返回一个MappingIterator。但似乎两个版本之间在这方面有一些变化。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-11-07
          • 2018-09-16
          • 1970-01-01
          相关资源
          最近更新 更多