gpt4 book ai didi

java - Jackson YAML 序列化 - 防止多行写入

转载 作者:行者123 更新时间:2023-12-05 04:52:38 24 4
gpt4 key购买 nike

我正在尝试从 bean 创建一个 YAML 文件。其中一个字段超过 80 个字符。当我使用 objectMapper 将 bean 写入 YAML 文件时,这些值打印在不同的两行中。

- code: abcd1234
label-en_US: Lorem Ipsum is simply dummied text of the printing and typesetting
industry --> this line should not be here
ObjectMapper mapper = new ObjectMapper(new YAMLFactory().enable(MINIMIZE_QUOTES));

mapper.writeValue(Paths.get("path/to/file").toFile(), getData());

最佳答案

因此,您不希望长文本被多行包裹,这应该让您考虑 YAMLFactory 中是否有一个选项来控制它。

然后您检查文档,即 YAMLFactory 的 javadoc ,看看是否有什么有用的东西。翻看list of methods , 你注意到 disable(YAMLGenerator.Feature f)enable(YAMLGenerator.Feature f)方法,你思考是否有 YAMLGenerator.Feature为了你想要的。

浏览list of features , 你会找到一个叫做 SPLIT_LINES 的,它被描述为:

Options passed to SnakeYAML that determines whether longer textual content gets automatically split into multiple lines or not.

Feature is enabled by default to conform to SnakeYAML defaults as well as backwards compatibility with 2.5 and earlier versions.

在用你的研究技能跳了一小场胜利舞之后......好吧,不,你不要那样做,因为必须在这里领导表明缺乏这样的技能,但是你惊叹于自己在未来尝试提高你的研究技能......你将 disable(SPLIT_LINES) 添加到代码中。

YAMLFactory yamlFactory = YAMLFactory.builder()
.enable(MINIMIZE_QUOTES)
.disable(SPLIT_LINES)
.build();
ObjectMapper mapper = new ObjectMapper(yamlFactory);

关于java - Jackson YAML 序列化 - 防止多行写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66432084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com