SnakeYAML:解析时如何禁用下划线剥离?

时间:2010-04-27 17:07:16

标签: parsing yaml snakeyaml

这是我的问题。我的YAML文档包含以下对:

run_ID: 2010_03_31_101

当解析此get时 org.yaml.snakeyaml.constructor.SafeConstructor.ConstructYamlInt:159 下划线被剥离,构造函数返回Long 20100331101 而不是我真正需要的未经修改的String "2010_03_31_101"

问题:如何 我可以禁用此行为并强制解析器使用String构造函数 而不是长?

1 个答案:

答案 0 :(得分:5)

行。从他们的邮件列表中得到答案。这是

  

嗨,根据规范   (http://yaml.org/type/int.html):任何   数字中的“_”字符是   忽略,允许可读   表示大值

     

您有几种方法可以解决它。 1)做   不依赖隐式类型,使用引号   (单个或双个)run_ID:   '2010_03_31_101'

     

2)关闭整数解析器(如   它在这里完成浮动)link 1 link 2

     

3)为int定义自己的模式   link 3

     

请注意,当你开始   偏离规范其他收件人   可能无法解析您的YAML文档。   使用引号是安全的。

     
      
  • 安德烈
  •