gpt4 book ai didi

ruby-on-rails - Ruby JSON.pretty_generate ... 很不漂亮

转载 作者:数据小太阳 更新时间:2023-10-29 06:32:09 26 4
gpt4 key购买 nike

我似乎无法让 JSON.pretty_generate() 在 Rails 中实际生成漂亮的输出。

我正在使用 Rails 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}"

但是,我真正想要的是 Rails 来制作它。为什么我无法让 Rails 中的生成器正常工作,有人有任何提示吗?

谢谢!

最佳答案

要生成漂亮的 JSON 输出,您似乎只缺少一个 puts 调用。

数据:

some_data = {'foo' => 1, 'bar' => 20, 'cow' => [1, 2, 3, 4], 'moo' => {'dog' => 'woof', 'cat' => 'meow'}}

只调用JSON.pretty_generate:

> JSON.pretty_generate some_data
=> "{\n \"foo\": 1,\n \"bar\": 20,\n \"cow\": [\n 1,\n 2,\n 3,\n 4\n ],\n \"moo\": {\n \"dog\": \"woof\",\n \"cat\": \"meow\"\n }\n}"

puts 添加到组合中:

> puts JSON.pretty_generate some_data
{
"foo": 1,
"bar": 20,
"cow": [
1,
2,
3,
4
],
"moo": {
"dog": "woof",
"cat": "meow"
}
}

关于ruby-on-rails - Ruby JSON.pretty_generate ... 很不漂亮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2567670/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com