mirror of
https://github.com/json-iterator/go.git
synced 2025-05-13 21:36:29 +02:00
do not report error when field is unexported
This commit is contained in:
parent
1f58120d43
commit
faa3dcf46a
@ -227,9 +227,6 @@ func describeStruct(cfg *frozenConfig, typ reflect.Type) (*StructDescriptor, err
|
|||||||
bindings := []*Binding{}
|
bindings := []*Binding{}
|
||||||
for i := 0; i < typ.NumField(); i++ {
|
for i := 0; i < typ.NumField(); i++ {
|
||||||
field := typ.Field(i)
|
field := typ.Field(i)
|
||||||
if unicode.IsLower([]rune(field.Name)[0]) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
tag := field.Tag.Get(cfg.getTagKey())
|
tag := field.Tag.Get(cfg.getTagKey())
|
||||||
tagParts := strings.Split(tag, ",")
|
tagParts := strings.Split(tag, ",")
|
||||||
if tag == "-" {
|
if tag == "-" {
|
||||||
@ -272,7 +269,7 @@ func describeStruct(cfg *frozenConfig, typ reflect.Type) (*StructDescriptor, err
|
|||||||
if decoder == nil {
|
if decoder == nil {
|
||||||
var err error
|
var err error
|
||||||
decoder, err = decoderOfType(cfg, field.Type)
|
decoder, err = decoderOfType(cfg, field.Type)
|
||||||
if err != nil {
|
if len(fieldNames) > 0 && err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -280,11 +277,11 @@ func describeStruct(cfg *frozenConfig, typ reflect.Type) (*StructDescriptor, err
|
|||||||
if encoder == nil {
|
if encoder == nil {
|
||||||
var err error
|
var err error
|
||||||
encoder, err = encoderOfType(cfg, field.Type)
|
encoder, err = encoderOfType(cfg, field.Type)
|
||||||
if err != nil {
|
if len(fieldNames) > 0 && err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
// map is stored as pointer in the struct
|
// map is stored as pointer in the struct
|
||||||
if field.Type.Kind() == reflect.Map {
|
if encoder != nil && field.Type.Kind() == reflect.Map {
|
||||||
encoder = &optionalEncoder{encoder}
|
encoder = &optionalEncoder{encoder}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user