2017-11-24 4 views
0
이 같은 .하여 구글 API 응답을 모방에 이동하는 2 수준 깊은 데이터 구조를 만들 필요가

:구조는 중첩 OpenStruct 객체

=> user.names.first_name 

인가가 이보다 더 똑똑하고 좋은 방법 :

user = OpenStruct.new(names: OpenStruct.new(first_name: 'Bob')) 

답변

0

이 방법은 실례지만 작동합니다. ,

require 'ostruct' 
require 'json' 
# Data in hash 
data = {"names" => {"first_name" => "Bob"}} 
result = JSON.parse(data.to_json, object_class: OpenStruct) 

그리고 또 다른 방법은

data = {"names" => {"first_name" => "Bob"}} 
data.to_openstruct 
을 openstruct하는 당신이 당신의 해시를 변환 할 수 있습니다 방법보다 사용

class Hash 
    def to_openstruct 
    JSON.parse to_json, object_class: OpenStruct 
    end 
end 

, 방법은 클래스 자체 해시 추가하고