Source File
reflect_json_raw_message.go
Belonging Package
github.com/json-iterator/go
package jsoniterimport ()var jsonRawMessageType = reflect2.TypeOfPtr((*json.RawMessage)(nil)).Elem()var jsoniterRawMessageType = reflect2.TypeOfPtr((*RawMessage)(nil)).Elem()func createEncoderOfJsonRawMessage( *ctx, reflect2.Type) ValEncoder {if == jsonRawMessageType {return &jsonRawMessageCodec{}}if == jsoniterRawMessageType {return &jsoniterRawMessageCodec{}}return nil}func createDecoderOfJsonRawMessage( *ctx, reflect2.Type) ValDecoder {if == jsonRawMessageType {return &jsonRawMessageCodec{}}if == jsoniterRawMessageType {return &jsoniterRawMessageCodec{}}return nil}type jsonRawMessageCodec struct {}func ( *jsonRawMessageCodec) ( unsafe.Pointer, *Iterator) {if .ReadNil() {*((*json.RawMessage)()) = nil} else {*((*json.RawMessage)()) = .SkipAndReturnBytes()}}func ( *jsonRawMessageCodec) ( unsafe.Pointer, *Stream) {if *((*json.RawMessage)()) == nil {.WriteNil()} else {.WriteRaw(string(*((*json.RawMessage)())))}}func ( *jsonRawMessageCodec) ( unsafe.Pointer) bool {return len(*((*json.RawMessage)())) == 0}type jsoniterRawMessageCodec struct {}func ( *jsoniterRawMessageCodec) ( unsafe.Pointer, *Iterator) {if .ReadNil() {*((*RawMessage)()) = nil} else {*((*RawMessage)()) = .SkipAndReturnBytes()}}func ( *jsoniterRawMessageCodec) ( unsafe.Pointer, *Stream) {if *((*RawMessage)()) == nil {.WriteNil()} else {.WriteRaw(string(*((*RawMessage)())))}}func ( *jsoniterRawMessageCodec) ( unsafe.Pointer) bool {return len(*((*RawMessage)())) == 0}
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |