当前位置: 首页 > 知识库问答 >
问题:

使用SnakeYaml转储带有引号的值

富昕
2023-03-14
color: 'red'
        final DumperOptions yamlOptions = new DumperOptions();
        yamlOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);

        Yaml yaml = new Yaml(yamlOptions);


        Object result = yaml.load(new FileInputStream(new File("test.yml")));

        System.out.println(yaml.dump(result));
color: 'red'
color: red

共有1个答案

亢建白
2023-03-14

我如何使序列化器也打印原始报价?

而不是使用高级API。引用规范:

标量样式是一个表示细节,不得用于传达内容信息,但为了标记解析的目的区分普通标量除外。

final Yaml yaml = new Yaml();
final Iterator<Event> events = yaml.parse(new StreamReader(new UnicodeReader(
        new FileInputStream(new File("test.yml"))).iterator();

final DumperOptions yamlOptions = new DumperOptions();
final Emitter emitter = new Emitter(new PrintWriter(System.out), yamlOptions);
while (events.hasNext()) emitter.emit(events.next());
 类似资料:
  • 这里,整个“service.getdata”语句应该是一个匹配项,但它在(转义的)双引号处中断。如果我用双引号括起参数值,它就可以工作了(就像它在前面的示例块中所做的那样)。但不幸的是,当参数值没有用双引号包装时,我需要它也能工作。 有人能帮我做最后一块吗?

  • 我正在尝试使用OpenCSV解析CSV文件。其中一列以YAML序列化格式存储数据,并被引用,因为其中可以包含逗号。它里面也有引号,所以它通过放两个引号来转义。我能够在Ruby中轻松解析这个文件,但使用OpenCSV我无法完全解析它。这是一个UTF-8编码的文件。 这是我的Java片段,它试图读取文件 这是此文件中的2行。第一行没有被正确解析,并且在处被拆分,因为我猜是转义双引号。

  • 我正在研究如何将自定义构造与SnakeYAML一起使用,但不确定如何实现嵌套。我用这个例子作为参考。 在链接的示例中,相关的YAML和构造是, 现在,让我们将YAML更改为, 我想使用另一个来解析对象,但要在上下文中进行。我对关系的理解非常不稳定,我对如何在自定义构造函数中使用自定义构造函数感到困惑。有什么想法或资源吗?

  • 我想打印如下内容: abc、def、ghi、JKL、mno、pqr 我刚写的时候: 所以我试着: 这给了我: abc、def、ghi、jkl、mno、pqr

  • 问题内容: 我有一个CSV文件,其中存在一些引用问题: SuperCSV使这些蠕虫(双关语)感到窒息。我知道应该应该是,但事实并非如此。LibreOffice实际上正确解析了这一点(这让我感到惊讶)。我当时只是想编写自己的小解析器,但是其他行在字符串中都带有逗号: 有人知道Java库会处理这种疯狂的东西吗?还是我应该尝试所有可用的?还是我最好自己解决这个问题? 问题答案: 正确的解决方案是找到生成

  • 问题内容: 我知道可以在Java字符串中用双引号将符号放在双引号之前。但是,如果在字符串中经常使用双引号,那么是否有一种方法可以将字符串标记一次,因此不需要在每个双引号之前写上符号吗?(就像在C#中一样,可以将符号放在字符串之前)示例: 代替 问题答案: 你不能 但是,如果您懒得不能使用双引号,则可以使用一些技巧。例如: 输出: