• 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("
    ").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/

  • 相关阅读:
    pycharm安装破解
    flask动态生成csv
    使用django开发restful接口
    python matplotlib显示中文和负数符号
    locust性能测试02—检查点
    locust性能测试01—初体验
    Mac中配置jmeter+grafana监控
    CF731E Funny Game
    CF197A Plate Game
    luoguP1823 [COI2007] Patrik 音乐会的等待
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/15222652.html
Copyright © 2020-2023  润新知