私はYAMLに変換しようとしているオブジェクトのJSON配列を持っています。
{"AAPL": [
{
"shares": -75.088,
"date": "11/27/2015"
},
{
"shares": 75.088,
"date": "11/26/2015"
},
]}
YAMLに相当する表現がありますか?これはJSONだけではありませんか?
AAPL:
- :
shares: -75.088
date: 11/27/2015
- :
shares: 75.088
date: 11/26/2015
しかし私が思いついた最もクリーンなものは
AAPL:
- {
shares: -75.088,
date: 11/27/2015
}
{
shares: 75.088,
date: 11/26/2015
}
回答:
回答№1の117TL; 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つあります(シーケンス)。
- 株式:-75.088 日付:2015年11月27日
- 株式:75.088 日付:2015年11月26日
どのように -
上のようになり、マッピングキーの最初の文字が並んでいます。
最後に、このシーケンス自体がキーによるマッピングの値です 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
}
]
}
あなたはそれを見ることができます(そして対話的に編集することができます) ここに.