fix json tag parsing

This commit is contained in:
Asim Aslam 2019-03-19 00:21:25 +00:00
parent dbe83c0fff
commit ca77773fbf

View File

@ -20,6 +20,10 @@ func extractValue(v reflect.Type, d int) *registry.Value {
v = v.Elem()
}
if len(v.Name()) == 0 {
return nil
}
arg := &registry.Value{
Name: v.Name(),
Type: v.Name(),
@ -37,6 +41,9 @@ func extractValue(v reflect.Type, d int) *registry.Value {
// if we can find a json tag use it
if tags := f.Tag.Get("json"); len(tags) > 0 {
parts := strings.Split(tags, ",")
if parts[0] == "-" || parts[0] == "omitempty" {
continue
}
val.Name = parts[0]
}
@ -45,6 +52,11 @@ func extractValue(v reflect.Type, d int) *registry.Value {
val.Name = v.Field(i).Name
}
// still no name then continue
if len(val.Name) == 0 {
continue
}
arg.Values = append(arg.Values, val)
}
case reflect.Slice: