TL; DR
คุณต้องการสิ่งนี้:
AAPL:
- shares: -75.088
date: 11/27/2015
- shares: 75.088
date: 11/26/2015
แมป
YAML ที่เทียบเท่ากับวัตถุ JSON คือการจับคู่ซึ่งมีลักษณะดังนี้:
# flow style
{ foo: 1, bar: 2 }
# block style
foo: 1
bar: 2
โปรดทราบว่าอักขระตัวแรกของคีย์ในการแมปบล็อกต้องอยู่ในคอลัมน์เดียวกัน เพื่อสาธิต:
# OK
foo: 1
bar: 2
# Parse error
foo: 1
bar: 2
ลำดับ
เทียบเท่าของอาร์เรย์ JSON ใน YAML เป็นลำดับซึ่งดูเหมือนว่าอย่างใดอย่างหนึ่งเหล่านี้ (ซึ่งเทียบเท่า):
# 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 เป็น superset ของ JSON ดังนั้นสิ่งที่กล่าวมาข้างต้นจึงใช้งานได้กับ YAML แล้ว - แต่เราจะใช้คุณสมบัติของ YAML เพื่อสร้างความน่ารักให้มากกว่านี้
เริ่มต้นจากภายในสู่ภายนอกเรามีวัตถุที่มีลักษณะดังนี้:
{
"shares": -75.088,
"date": "11/27/2015"
}
การแมป YAML ที่เทียบเท่าคือ:
shares: -75.088
date: 11/27/2015
เรามีสองสิ่งนี้ในอาร์เรย์ (ลำดับ):
- shares: -75.088
date: 11/27/2015
- shares: 75.088
date: 11/26/2015
สังเกตการ-
เรียงแถวและอักขระตัวแรกของปุ่มการแมป
ในที่สุดลำดับนี้เป็นค่าในการแมปด้วยคีย์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
}
]
}
คุณสามารถเห็นมัน (และแก้ไขโต้ตอบ) ที่นี่