난 레일에서 꽤 출력을 생성하는 JSON.pretty_generate()
실제로 얻을 수없는 것.루비 JSON.pretty_generate ... 꽤 unpretty입니다
레일 2.3.5를 사용하고 있으며 자동으로 JSON gem을로드하는 것으로 보입니다. 굉장해. script/console
을 사용하는 동안이 참으로 JSON 생산 않습니다
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}"
을하지만이 꽤 출력 생성하지 않습니다
JSON.pretty_generate(some_data)
=> "{\"cow\":[1,2,3,4],\"moo\":{\"cat\":\"meow\",\"dog\":\"woof\"},\"foo\":1,\"bar\":20}"
나는 그것이 irb
과에를 사용하는 것입니다 생성하기 위해 찾은 유일한 방법 "순수한"버전을로드하십시오 :
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}"
그러나 제가 정말로 원했던 것은 레일즈가 이것을 만들어내는 것입니다. 누구든지 레일즈의 제너레이터를 제대로 작동시키지 못하는 이유를 알고 있습니까?
감사합니다.
@Amy, 당신의 예에서 일부 불일치있을 것 같습니다 . '{ "cow"=> [1, 2, 3, 4], ... '는 유효한 JSON이 아닙니다. JSON은 Ruby의'=>'대신':'을 사용합니다. 실제 출력을 붙여 넣을 수 있습니까? –
죄송합니다. puts()를 통해 출력을 넣은 터미널에서 잘라 붙이기를했습니다. 위의 내용은 script/console 및 irb의 정확한 출력입니다. – Amy
두 번째 출력을 얻는 방법을 설명해 주시겠습니까? (즉, JSON.pretty_generate (some_data) 줄은 어디에 있습니까?) – kikito