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:解析时如何禁用下划线剥离?的主要内容,如果未能解决你的问题,请参考以下文章

如何在颤振/飞镖扩展中禁用蓝色警告下划线标志?

如何在 React 中禁用 Material UI 的日期选择器的下划线?

EditText下划线禁用颜色[重复]

EditText下划线禁用颜色[重复]

在 TextFormField 中禁用单词下划线

iOS 5 - 有没有办法在 UITextView 中禁用自动填充但保留拼写检查(红色下划线)?