印度包网
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

23 lines
391 B

package util
import (
"reflect"
)
func GetStructFieldByJsonTag(obj interface{}, tag string) (field reflect.StructField, ok bool) {
t := reflect.TypeOf(obj)
v := reflect.ValueOf(obj)
if v.Kind() == reflect.Ptr {
t = t.Elem()
}
for i := 0; i < t.NumField(); i++ {
field = t.Field(i)
tagName := field.Tag.Get("json")
if tagName == tag {
ok = true
return
}
}
return
}