gpt4 book ai didi

java - 如何阻止 jackson 的 YAML 编写器引用值

转载 作者:搜寻专家 更新时间:2023-10-30 21:08:10 26 4
gpt4 key购买 nike

我正在从事一个将文件从 JSON 转换为 YAML 的项目。我正在使用以下库的 2.8.3 版本:

  • jackson 核心
  • jackson 数据绑定(bind)
  • jackson-dataformat-yaml
  • jackson 注释

我的 YAML 序列化代码非常简单:

ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
ObjectWriter writer = mapper.writer();

try {
SequenceWriter sw = writer.writeValues(System.out);
sw.write(tree);
}
catch (IOException e) {
e.printStackTrace();
}

此代码生成的 YAML 如下所示:

serviceType: "elasticSearch"
displayName: "Elasticsearch Service"
description: "Sample Elastic Search Service"

虽然它是有效的 YAML,但我不喜欢值周围的双引号。在 YAML 中不需要它们,这会使编辑生成的文件更加麻烦。有谁知道如何配置 ObjectWriter 以使 jackson 停止将字符串值封装在引号中?

最佳答案

YAMLGenerator 功能称为 MINIMIZE_QUOTES这将关闭引号。

您可以 enable()它在创建你的 YAMLFactory 时像这样:

ObjectMapper mapper = new ObjectMapper(new YAMLFactory().enable(YAMLGenerator.Feature.MINIMIZE_QUOTES));

关于java - 如何阻止 jackson 的 YAML 编写器引用值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39757421/

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