这是我的问题。我的YAML文档包含以下对:
run_ID: 2010_03_31_101
当解析此get时
org.yaml.snakeyaml.constructor.SafeConstructor.ConstructYamlInt:159
下划线被剥离,构造函数返回Long 20100331101
而不是我真正需要的未经修改的String "2010_03_31_101"
。
问题:如何 我可以禁用此行为并强制解析器使用String构造函数 而不是长?
答案 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文档。 使用引号是安全的。
- 安德烈