Aslında Rails'de güzel çıktı elde etmek için JSON.pretty_generate()
elde edemiyorum.Ruby JSON.pretty_generate ... Oldukça garip bir şekilde
Rails 2.3.5 kullanıyorum ve JSON gem'i otomatik olarak yükler gibi görünüyor. Muhteşem. script/console
kullanırken bu gerçekten JSON üretir:
some_data = {'foo' => 1, 'bar' => 20, 'cow' => [1, 2, 3, 4], 'moo' => {'dog' => 'woof', 'cat' => 'meow'}}
some_data.to_json
=> "{\"cow\":[1,2,3,4],\"moo\":{\"cat\":\"meow\",\"dog\":\"woof\"},\"foo\":1,\"bar\":20}"
Ama bu oldukça çıkışı üretmez:
JSON.pretty_generate(some_data)
=> "{\"cow\":[1,2,3,4],\"moo\":{\"cat\":\"meow\",\"dog\":\"woof\"},\"foo\":1,\"bar\":20}"
Ben irb
ve kullanmaktır üretmek için bulduk tek yolu "Saf" sürümünü yükleyin:
require 'rubygems'
require 'json/pure'
some_data = {'foo' => 1, 'bar' => 20, 'cow' => [1, 2, 3, 4], 'moo' => {'dog' => 'woof', 'cat' => 'meow'}}
JSON.pretty_generate(some_data)
=> "{\n \"cow\": [\n 1,\n 2,\n 3,\n 4\n ],\n \"moo\": {\n \"cat\": \"meow\",\n \"dog\": \"woof\"\n },\n \"foo\": 1,\n \"bar\": 20\n}"
ANCAK, gerçekten istediğim şey bunu üretmek için raylar. Rayların doğru çalışabilmesi için jeneratöre neden ulaşamadığım konusunda herhangi bir ipucu var mı?
Teşekkürler!
@Amy, sizin örneklerde bazı tutarsızlıklar var gibi görünüyor . '{" inek "=> [1, 2, 3, 4], ...' geçerli bir JSON değil. JSON, Ruby's '=>' yerine ':' kullanır. Gerçek çıktıyı yapıştırabilir misin? –
Bunun için üzgünüz. Çıkışı bir koz() ile koyduğum bir terminalden kesiyordum ve yapıştırıyordum. Yukarıdaki komut/konsol ve irb’den gelen çıktıdır. – Amy
İkinci çıkışı nasıl aldığınızı açıklar mısınız? (ör. JSON.pretty_generate (some_data) satırı nerede? – kikito