TL; DR
あなたはこれを求めている:
AAPL:
- shares: -75.088
date: 11/27/2015
- shares: 75.088
date: 11/26/2015
マッピング
JSONオブジェクトに相当するYAMLは、次のようなマッピングです。
# flow style
{ foo: 1, bar: 2 }
# block style
foo: 1
bar: 2
ブロックマッピングのキーの最初の文字は同じ列にある必要があることに注意してください。実証するには:
# OK
foo: 1
bar: 2
# Parse error
foo: 1
bar: 2
シーケンス
YAMLのJSON配列に相当するのはシーケンスで、次のいずれかに似ています(同等です)。
# flow style
[ foo bar, baz ]
# block style
- foo bar
- baz
ブロックシーケンスでは、-
sは同じ列になければなりません。
JSONからYAML
JSONをYAMLに変換しましょう。JSONは次のとおりです。
{"AAPL": [
{
"shares": -75.088,
"date": "11/27/2015"
},
{
"shares": 75.088,
"date": "11/26/2015"
},
]}
雑学のポイントとして、YAMLはJSONのスーパーセットであるため、上記はすでに有効なYAMLですが、実際にYAMLの機能を使用してこの見栄えを良くしましょう。
内側から始めて、次のようなオブジェクトがあります。
{
"shares": -75.088,
"date": "11/27/2015"
}
同等のYAMLマッピングは次のとおりです。
shares: -75.088
date: 11/27/2015
これらの2つが配列(シーケンス)にあります。
- shares: -75.088
date: 11/27/2015
- shares: 75.088
date: 11/26/2015
-
sとマッピングキーの最初の文字の並び方に注意してください。
最後に、このシーケンスはそれ自体がキーを持つマッピングの値ですAAPL
。
AAPL:
- shares: -75.088
date: 11/27/2015
- shares: 75.088
date: 11/26/2015
これを解析してJSONに戻すと、期待どおりの結果が得られます。
{
"AAPL": [
{
"date": "11/27/2015",
"shares": -75.088
},
{
"date": "11/26/2015",
"shares": 75.088
}
]
}
あなたはそれをここで見ることができます(そしてそれをインタラクティブに編集します)。