YAML эквивалент массива объектов в JSON
у меня есть массив JSON объектов, которые я пытаюсь преобразовать в YAML.
{"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 ответ:
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 to 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
у нас есть два из них в массиве (последовательности):
- акции: -75.088 дата: 27.11.2015
- акции: 75.088 дата: 26.11.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 } ] }
вы можете увидеть его (и редактировать его в интерактивном режиме)здесь.