TL; DR
Tu vuoi questo:
AAPL:
- shares: -75.088
date: 11/27/2015
- shares: 75.088
date: 11/26/2015
Mapping
L'equivalente YAML di un oggetto JSON è una mappatura, che assomiglia a questi:
# flow style
{ foo: 1, bar: 2 }
# block style
foo: 1
bar: 2
Si noti che i primi caratteri delle chiavi in una mappatura di blocchi devono trovarsi nella stessa colonna. Dimostrare:
# OK
foo: 1
bar: 2
# Parse error
foo: 1
bar: 2
sequenze
L'equivalente di un array JSON in YAML è una sequenza, che assomiglia a uno di questi (che sono equivalenti):
# flow style
[ foo bar, baz ]
# block style
- foo bar
- baz
In una sequenza di blocchi -
s deve trovarsi nella stessa colonna.
JSON a YAML
Trasformiamo il tuo JSON in YAML. Ecco il tuo JSON:
{"AAPL": [
{
"shares": -75.088,
"date": "11/27/2015"
},
{
"shares": 75.088,
"date": "11/26/2015"
},
]}
Come punto di curiosità, YAML è un superset di JSON, quindi quanto sopra è già valido YAML, ma usiamo effettivamente le funzionalità di YAML per renderlo più bello.
A partire da dentro, abbiamo oggetti che assomigliano a questo:
{
"shares": -75.088,
"date": "11/27/2015"
}
La mappatura YAML equivalente è:
shares: -75.088
date: 11/27/2015
Ne abbiamo due in un array (sequenza):
- shares: -75.088
date: 11/27/2015
- shares: 75.088
date: 11/26/2015
Nota come si -
allineano la s e i primi caratteri dei tasti di mappatura.
Infine, questa sequenza è essa stessa un valore in una mappatura con la chiave AAPL
:
AAPL:
- shares: -75.088
date: 11/27/2015
- shares: 75.088
date: 11/26/2015
Analizzando questo e riconvertendolo in JSON si ottiene il risultato atteso:
{
"AAPL": [
{
"date": "11/27/2015",
"shares": -75.088
},
{
"date": "11/26/2015",
"shares": 75.088
}
]
}
Puoi vederlo (e modificarlo in modo interattivo) qui .