JSON от Ruby поддерживает pretty_generate
, что является «красивым» генератором, но никоим образом не будет пытаться запомнить, как вы структурировали конкретный файл данных JSON, и не должен.
foo = {'a' => 1, 'b' => %w[2 3]}
puts JSON.generate(foo)
{"a":1,"b":["2","3"]}
puts JSON.pretty_generate(foo)
{
"a": 1,
"b": [
"2",
"3"
]
}
JSON это формат сериализации данных, а также, наряду с YAML и XML, он предназначен для перемещения данных точно. Выполнение этого при сохранении произвольного межстрочного интервала или ведущего белого пространства не добавляет значения в сериализатор.
Помните, что добавление «довольно» на выходе увеличивается размер данных, перемещаемых без улучшения качества:
puts JSON.generate(foo).size
21
puts JSON.pretty_generate(foo).size
43
Making только что маленький хэш «довольно» удвоенный размер, который в течение долгого времени , уменьшает пропускную способность для браузеров или между сетями между серверами. Я бы рекомендовал только беспокоиться о «хорошем» выходе, когда первоначально отлаживал ваш код, а затем отказывался от него, когда вы довольны движением данных, в пользу скорости и эффективности. Данные будут одинаковыми.
Если вы беспокоитесь о возможности изменения некоторых данных, напишите простой читатель и/или генератор JSON, который работает со стандартным объектом данных Ruby, затем пусть JSON сериализует его и записывает вывод в файл ,
Что связано с управлением JSON с Rails? –
@WaleedKhan Rails имеет http://api.rubyonrails.org/classes/ActiveSupport/JSON.html, так что это может быть полезно для решения или нет. Это не имеет большого значения. –
Это будет [Атрибут ActiveSupport] (https://rubygems.org/gems/activesupport). –