jackson jsonlines 处理-读取以及生成

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 的可以参考

参考资料

https://jsonlines.org/

posted on   荣锋亮  阅读(617)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2020-09-03 arkproxy极数云舟开源的完全兼容mysql 的跨云中间件
2020-09-03 Update MongoDB field using value of another field
2019-09-03 使用openrc 管理容器中的服务
2018-09-03 vulcanjs 简单package 编写
2013-09-03 EXtJS Ext.data.Model

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示