【问题标题】:SnakeYAML: How to disable underscore stripping when parsing?SnakeYAML:解析时如何禁用下划线剥离?
【发布时间】: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 构造函数吗 而不是龙?

【问题讨论】:

    标签: parsing yaml snakeyaml


    【解决方案1】:

    好的。从他们的邮件列表中得到答案。在这里

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

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

    2) 关闭整数解析器(如 在这里为花车完成)link 1link 2

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

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

    • 安德烈

    【讨论】:

    • 链接已失效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2021-11-03
    相关资源
    最近更新 更多