class Aws::Json::Parser
def structure(ref, values, target = nil)
def structure(ref, values, target = nil) shape = ref.shape target = ref.shape.struct_class.new if target.nil? values.each do |key, value| member_name, member_ref = shape.member_by_location_name(key) if member_ref target[member_name] = parse_ref(member_ref, value) elsif shape.union && key != '__type' target[:unknown] = { 'name' => key, 'value' => value } end end if shape.union # convert to subclass member_subclass = shape.member_subclass(target.member).new member_subclass[target.member] = target.value target = member_subclass end target end