Как вывести строки в YAML, используя литеральный скалярный стиль?

У меня есть большая строка отформатированных данных (например, JSON), которую я хочу сбросить в YAML, используя Psych в ruby ​​с сохранением форматирования.

По сути, я хочу, чтобы JSON отображался в YAML с использованием литерального стиля:

---
json: |
  {
    "page": 1,
    "results": [
      "item", "another"
    ],
    "total_pages": 0
  }

Однако, когда я использую YAML.dump, он не использует буквальный стиль. Я получаю что-то вроде этого:

---
json: ! "{\n  \"page\": 1,\n  \"results\": [\n    \"item\", \"another\"\n  ],\n  \"total_pages\":
  0\n}\n"

Как я могу указать Psych выгружать скаляры в требуемом стиле?


Решение:

Большое спасибо Аарону Паттерсону за его решение, которое я расширяю здесь: https://gist.github.com/2023978

Хотя это немного многословно, суть рабочий способ пометить определенные строки в ruby ​​для вывода с использованием литерального стиля в YAML.

5
задан mislav 12 March 2012 в 19:05
поделиться