7

これは非常に具体的ですが、私は困惑しました。ネストされたキーと通常の配列は、解析時にほぼ同じように扱われます。必要に応じて、次のように追加の情報が追加されることもあります。

---
Entry 1:
    - lorem:
        true
    - ipsum
    - dolor
Entry 2:
    - lorem
    - ipsum:
        true
    - dolor
...

…これにより、次の JSON が得られます。

{
  "Entry 2": [
    "lorem", 
    {
      "ipsum": true
    }, 
    "dolor"
  ], 
  "Entry 1": [
    {
      "lorem": true
    }, 
    "ipsum", 
    "dolor"
  ]
}

すべてクールで元気です。コンテンツに複数行の文字列を入力すると、乱雑になりますが、次のように問題なく動作します (それらを参照用にオンライン YAML パーサーまたは他のコンパイラに貼り付け続けます)。

---
#works:

Test:
  - lorem
  - ipsum
  - dolor
? |-
    multiline
    Test
:
  - lorem
  - ipsum:
      true
  - dolor
...

仕様で期待されるように、より深く、私の第 2 レベルの配列の複数行の文字列も同様に機能します。

---
#works:
Test:
    - |-
        multiline
        lorem
    - ipsum
    - dolor
? |-
    multiline
    Test
:
    - lorem
    - ipsum:
        true
    - dolor
...

うわー!しかし、同じレベルで複数行のキーと複数行の配列文字列を混在させるとすぐに、セットアップが壊れます:

---
#breaks:
Test:
    - |-
        multiline
        lorem
    ? |- 
        multiline
        ipsum
    : 
        true
? |-
    multiline
    Test
:
    - lorem
    - ipsum:
        true
    - dolor
...

それを修正する方法は?

4

1 に答える 1