code: func parseFieldTags(f reflect.StructField) fieldTags {
  	var ret fieldTags
  
  	for i, s := range strings.Split(f.Tag.Get("json"), ",") {
  		switch {
  		case i == 0 && s == "-":
  			ret.omit = true
  		case i == 0:
  			ret.name = s
  		case s == "omitempty":
  			ret.omitEmpty = true
  		case s == "!omitempty":
  			ret.noOmitEmpty = true
  		case s == "string":
  			ret.asString = true
  		case s == "required":
  			ret.required = true
  		}
  	}
  
  	return ret
  }
docs: // parseFieldTags parses the json field tag into a structure.