mirror of
https://github.com/json-iterator/go.git
synced 2025-02-19 19:59:49 +02:00
get encoder without get type first
This commit is contained in:
parent
820ec30bd6
commit
d346ea6e55
@ -75,8 +75,12 @@ func (stream *Stream) WriteVal(val interface{}) {
|
|||||||
stream.WriteNil()
|
stream.WriteNil()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
typ := reflect2.TypeOf(val)
|
cacheKey := reflect2.RTypeOf(val)
|
||||||
encoder := stream.cfg.EncoderOf(typ)
|
encoder := stream.cfg.getEncoderFromCache(cacheKey)
|
||||||
|
if encoder == nil {
|
||||||
|
typ := reflect2.TypeOf(val)
|
||||||
|
encoder = stream.cfg.EncoderOf(typ)
|
||||||
|
}
|
||||||
encoder.Encode(reflect2.PtrOf(val), stream)
|
encoder.Encode(reflect2.PtrOf(val), stream)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user