YamlLint验证

时间:2016-07-19 09:10:51

标签: yaml snakeyaml

我有一个像这样的Yaml文件

    name: hhh_aaa_bbb 
arguments:
    - !argument
        name: inputsss
        description: hhh aaa bbb
        required: true
    - !argument
        name: lll
        description: lll
        required: true
    - !argument
        name: ccc
        description: ccc
        required: true
source:
    !!com.abc.bbc.sss
        uri: !arg input

但是当我使用Yaml Lint在yamllint中验证这个yaml文件时,它会删除所有"!"或" !!"用户参数。为什么会这样?

这是我在验证后从yaml lint获得的输出

    --- 
arguments: 
  - 
    description: "hhh aaa bbb"
    name: inputsss
    required: true
  - 
    description: lll
    name: lll
    required: true
  - 
    description: ccc
    name: ccc
    required: true
name: hhh_aaa_bbb
source: 
  uri: input

2 个答案:

答案 0 :(得分:2)

如果您希望验证 YAML文件而不进行转换,请使用yamllint(linter,而不是网站 - yamllint.com不是linter)。

对于您的具体输入,它会给出:

$ yamllint file.yaml
file.yaml
  1:1       warning  missing document start "---"  (document-start)
  1:18      error    trailing spaces  (trailing-spaces)
  4:9       error    wrong indentation: expected 6 but found 8  (indentation)
  8:9       error    wrong indentation: expected 6 but found 8  (indentation)
  12:9      error    wrong indentation: expected 6 but found 8  (indentation)
  17:9      error    wrong indentation: expected 4 but found 8  (indentation)

答案 1 :(得分:1)

YAMLLint是一个没有印记的网站或任何其他有关作者,目的和YAML实施的信息。如果没有这些信息,您应该非常小心地相信它的输出。

只有作者可以告诉你为什么他们认为删除标签是个好主意。生成的YAML 等同于没有标记的输入。

您可以使用其他网站进行在线YAML验证:

(完全披露:我是NimYAML的作者)