Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
YAML中的多行键_Yaml - Fatal编程技术网

YAML中的多行键

YAML中的多行键,yaml,Yaml,有可能有这样的多行键吗 mykey: - > key one: keytwo: val 其中keyone被视为一个键。我想解析yaml以产生: { mykey: [ { keyone: { keytwo: val } } ] } 您可以在YAML中使用多行键,但不能完全按照您描述的方式。在YAML映射中,您可以通过在键前面加?和值前面加:将键和值拆分为单独的行,如下所示: ? foo : bar 上述内容将在JSON中生成类似于{“foo”:“bar”}的

有可能有这样的多行键吗

mykey:
  - >
    key
    one:
    keytwo: val
其中keyone被视为一个键。我想解析yaml以产生:

{ mykey: [ { keyone: { keytwo: val } } ] }

您可以在YAML中使用多行键,但不能完全按照您描述的方式。在YAML映射中,您可以通过在键前面加
和值前面加
将键和值拆分为单独的行,如下所示:

? foo
: bar
上述内容将在JSON中生成类似于
{“foo”:“bar”}
的数据结构。YAML规范将其称为显式键(而通常的
foo:bar
样式是隐式的)。使用显式样式时,键可以是任何YAML数据结构,包括多行标量:

mykey:
  - ? key
      one
    : keytwo: val
…但是,与YAML中的所有多行标量一样,即使行被合并,每行的内容之间也会保留一个空格,因此上述内容将产生如下JSON那样的数据结构:

{ "mykey":
  [ { "key one":
      { "keytwo": "val" }
    }
  ]
}

因此,您最终使用的是
keyone
,而不是
keyone
,这并不是您想要的。但这是最接近YAML的语法。

我不知道显式语法,但这正是我想要的。在我的例子中,空格并不重要,所以你的例子对我来说非常有效。谢谢