|
@@ -109,15 +109,18 @@ loop:
|
|
|
tag := fType.Tag.Get("rest")
|
|
|
log.Println("=================================", fType.Name)
|
|
|
if fType.Type.Kind() == reflect.Ptr {
|
|
|
+ log.Println("PTR...")
|
|
|
elem := fType.Type.Elem()
|
|
|
if elem.Kind() == reflect.Struct {
|
|
|
+ log.Print("ELEM struct...")
|
|
|
if fVal.IsNil() {
|
|
|
+ log.Println("IS_NIL")
|
|
|
fVal.Set(reflect.New(elem))
|
|
|
- if ierr := parseStruct(from, fVal.Elem(), prefixFieldName(fieldName, fType.Name)); ierr != nil {
|
|
|
- return ierr
|
|
|
- }
|
|
|
- continue loop
|
|
|
}
|
|
|
+ if ierr := parseStruct(from, fVal.Elem(), prefixFieldName(fieldName, fType.Name)); ierr != nil {
|
|
|
+ return ierr
|
|
|
+ }
|
|
|
+ continue loop
|
|
|
}
|
|
|
}
|
|
|
if len(tag) > 0 {
|