0

次のようなクラスがあります

class Foo 
  JSON.mapping(
    bar: String,
    baz: String,
  )
end

{root: "name of node"}JSON.mapping 内で指定することにより、JSON オブジェクトで単一の属性をラップできることを知っています。Fooしかし、クラス全体でそれを行う方法はありますか?

出力が次のようになるようにするには?

{
  "foo": {
    "bar": "",
    "baz": ""
  }
}
4

2 に答える 2

1

それを行う方法はありませんが、これを行うことができます:

require "json"

class Foo
  JSON.mapping(
    bar: String,
    baz: String,
  )

  def initialize(@bar : String, @baz : String)
  end
end

foo = Foo.new("r", "z")
json = {foo: foo}.to_json
puts json
于 2016-10-06T23:02:37.743 に答える