SnakeYAML:解析时如何禁用下划线剥离?
Posted
技术标签:
【中文标题】SnakeYAML:解析时如何禁用下划线剥离?【英文标题】:SnakeYAML: How to disable underscore stripping when parsing? 【发布时间】:2011-02-12 23:29:05 【问题描述】:这是我的问题。我有包含以下对的 YAML 文档:
run_ID: 2010_03_31_101
当这个 get 被解析时
org.yaml.snakeyaml.constructor.SafeConstructor.ConstructYamlInt:159
下划线被剥离,构造函数返回Long 20100331101
而不是我真正需要的未经修改的String "2010_03_31_101"
。
问题:如何 我可以禁用此行为并强制解析器使用 String 构造函数吗 而不是龙?
【问题讨论】:
【参考方案1】:好的。从他们的邮件列表中得到答案。在这里
您好,根据规范 (http://yaml.org/type/int.html): 任何 数字中的“_”字符是 忽略,允许可读 大值的表示
您有几种方法可以解决它。 1)做 不依赖隐式类型,使用引号 (单或双)run_ID: '2010_03_31_101'
2) 关闭整数解析器(如 在这里为花车完成)link 1link 2
3) 为 int 定义自己的模式 link 3
请注意,当您开始 偏离规范的其他接收者 可能无法解析您的 YAML 文档。 使用引号是安全的。
安德烈
【讨论】:
链接已失效。以上是关于SnakeYAML:解析时如何禁用下划线剥离?的主要内容,如果未能解决你的问题,请参考以下文章