将json解析为ruby的办法?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

我研究了不同的资源,并且仍然对如何将json格式解析为自定义对象感到困惑

class Resident
  attr_accessor :phone, :addr

  def initialize(phone, addr)
      @phone = phone
      @addr = addr
  end
end    

JSON文件

{
  "Resident": [
    {
      "phone": "12345",
      "addr":  "xxxxx"
    }, {
      "phone": "12345",
      "addr": "xxxxx"
    }, {
      "phone": "12345",
      "addr": "xxxxx"
    }
  ]
}

将json文件解析为3个Resident对象的数组的正确方法是什么?

提问于
用户回答回答于

以下代码更简单:

require 'json'

data = JSON.parse(json_data)
residents = data['Resident'].map { |rd| Resident.new(rd['phone'], rd['addr']) }
用户回答回答于

我正在寻找一些将json转换为对象的东西:

person = JSON.parse(json_string, object_class: OpenStruct)

扫码关注云+社区