1
0
mirror of https://github.com/json-iterator/go.git synced 2024-11-27 08:30:57 +02:00

fix tag field name not used bug

This commit is contained in:
Tao Wen 2016-12-19 12:12:15 +08:00
parent c7d0dd5b66
commit e7ec3988a6

View File

@ -713,12 +713,16 @@ func decoderOfStruct(type_ reflect.Type) (Decoder, error) {
} }
decoder := fieldDecoders[fieldDecoderKey] decoder := fieldDecoders[fieldDecoderKey]
tagParts := strings.Split(field.Tag.Get("json"), ",") tagParts := strings.Split(field.Tag.Get("json"), ",")
// if fieldNames set by extension, use theirs, otherwise try tags
if fieldNames == nil { if fieldNames == nil {
/// tagParts[0] always present, even if no tags
switch tagParts[0] { switch tagParts[0] {
case "": case "":
fieldNames = []string{field.Name} fieldNames = []string{field.Name}
case "-": case "-":
fieldNames = []string{} fieldNames = []string{}
default:
fieldNames = []string{tagParts[0]}
} }
} }
if decoder == nil { if decoder == nil {