/ / YAML-Äquivalent zum Array von Objekten in JSON - json, yaml

YAML-Äquivalent von Array von Objekten in JSON - json, yaml

Ich habe ein JSON-Array mit Objekten, die ich in YAML konvertieren möchte.

{"AAPL": [
{
"shares": -75.088,
"date": "11/27/2015"
},
{
"shares": 75.088,
"date": "11/26/2015"
},
]}

Gibt es eine äquivalente Darstellung in YAML, die nicht nur JSON ist? Ich würde gerne so etwas tun

AAPL:
- :
shares: -75.088
date: 11/27/2015
- :
shares: 75.088
date: 11/26/2015

aber das sauberste, was ich mir ausgedacht habe, ist

AAPL:
- {
shares: -75.088,
date: 11/27/2015
}
{
shares: 75.088,
date: 11/26/2015
}

Antworten:

117 für die Antwort № 1

TL; DR

Du willst das:

AAPL:
- shares: -75.088
date: 11/27/2015
- shares: 75.088
date: 11/26/2015

Zuordnungen

Das YAML-Äquivalent eines JSON-Objekts ist eine Zuordnung, die folgendermaßen aussieht:

# flow style
{ foo: 1, bar: 2 }
# block style
foo: 1
bar: 2

Beachten Sie, dass sich die ersten Zeichen der Schlüssel in einer Blockzuordnung in derselben Spalte befinden müssen. Demonstrieren:

# OK
foo: 1
bar: 2
# Parse error
foo: 1
bar: 2

Sequenzen

Das Äquivalent eines JSON-Arrays in YAML ist eine Sequenz, die wie folgt aussieht:

# flow style
[ foo bar, baz ]
# block style
- foo bar
- baz

In einer Blocksequenz wird die -s muss in derselben Spalte stehen.

JSON zu YAML

Lassen Sie uns Ihren JSON in YAML verwandeln. Hier ist Ihr JSON:

{"AAPL": [
{
"shares": -75.088,
"date": "11/27/2015"
},
{
"shares": 75.088,
"date": "11/26/2015"
},
]}

YAML ist eine übergeordnete Menge von JSON, daher ist das oben genannte bereits gültige YAML-Format. Verwenden wir jedoch die Funktionen von YAML, um dieses hübscher zu gestalten.

Von innen nach außen haben wir Objekte, die so aussehen:

{
"shares": -75.088,
"date": "11/27/2015"
}

Die entsprechende YAML-Zuordnung lautet:

shares: -75.088
date: 11/27/2015

Wir haben zwei davon in einem Array (Sequenz):

  • Aktien: -75.088 Datum: 27.11.2015
  • Aktien: 75.088 Datum: 26.11.2015

Beachten Sie, wie die -s like up und die ersten Zeichen der Mapping-Tasten stehen in einer Reihe.

Schließlich ist diese Sequenz selbst ein Wert in einem Mapping mit dem Schlüssel AAPL:

AAPL:
- shares: -75.088
date: 11/27/2015
- shares: 75.088
date: 11/26/2015

Das Parsen und Konvertieren in JSON führt zu dem erwarteten Ergebnis:

{
"AAPL": [
{
"date": "11/27/2015",
"shares": -75.088
},
{
"date": "11/26/2015",
"shares": 75.088
}
]
}

Sie können es sehen (und interaktiv bearbeiten) Hier.