我很困惑为什么我的简单红宝石对象不转换为json。为什么我的ruby类不能转换为json?
>irb
>
require 'json'
class User
attr_accessor :name, :age
def initialize(name, age)
@name = name
@age = age
end
end
u1 = User.new("a", 1)
u2 = User.new("b", 2)
puts u1.to_json
"\"#<User:0x000001010e9f78>\""
我错过了什么?
我想将这些对象存储到数组集合中,然后将整个集合转换为json。
users = []
users << User.new("a", 1)
users << User.new("b", 2)
users.to_json
注意:这不是使用Rails,只是普通的旧Ruby!
我想我的json是一个用户对象数组。
[
{"name": "john", "age": 22},
{"name": "john1", "age": 23}
{"name": "john2", "age": 24}
]
看看如何封送来自JSON的ruby结构https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/add/struct.rb,你必须写下你的'to_json'和'as_json'函数,这里有更多的例子https://github.com/ruby/ruby/tree/trunk/ext/json/lib/json/add – bjhaid
我觉得这会更容易,我被宠坏了:) – Blankman
它会更容易,但很难知道你想让你的json看起来像 – bjhaid