jackson jsonlines 处理-读取以及生成
  TEZNKK3IfmPf 2024年05月17日 31 0

jsonlines 在数据分析处理以及批量json 处理中是比较常用的,以下是基于jackson 的处理

基于jackson 读取以及生成jsonlines

参考代码

jsonlines 格式

{"0":"ddd","1":"11","2":"111","3":"111"}
{"0":"ddd","1":"12","2":"112","3":"112"}
{"0":"ddd","1":"13","2":"113","3":"113"}
....
  • 读取
public  static void readJsonLines() throws IOException {
    InputStream stream = Application.class.getClassLoader().getResourceAsStream("demoapp22.ldjson");
    JsonMapper reader=  JsonMapper.builder().build();
    MappingIterator<JsonNode> items = reader.readerFor(JsonNode.class).readValues(stream);
    while (items.hasNextValue()){
        System.out.println(items.nextValue());
    }
}
  • 生成
public static void writeExcelContent2JSONLines2(List<Object> input) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
    try (OutputStream fileOutputStream = new FileOutputStream("demoapp22.ldjson")) {
        try (SequenceWriter seq = objectMapper.writer()
              // withRootValueSeparator 此处是核心,需要符合jsonlines的格式,数据就是一个pojo
                .withRootValueSeparator("\n").writeValues(fileOutputStream)) {
            input.forEach(new Consumer<Object>() {
                @SneakyThrows
                @Override
                public void accept(Object s) {
                    seq.write(s);
                }
            });
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

说明

以上基于jackson 进行jsonlines 的读取以及写入操作,对于需要集成jsonlines 的可以参考

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年05月17日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月17日   38   0   0 json
  TEZNKK3IfmPf   2024年04月26日   36   0   0 json
  TEZNKK3IfmPf   2024年05月17日   44   0   0 jsonmysql
  TEZNKK3IfmPf   2024年04月26日   35   0   0 gitgithub
TEZNKK3IfmPf