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 } ] }вы можете увидеть его (и редактировать его в интерактивном режиме)здесь.