MCPcopy Index your code
hub / github.com/segmentio/encoding / Encode

Method Encode

json/json.go:506–542  ·  view source on GitHub ↗

Encode is documented at https://golang.org/pkg/encoding/json/#Encoder.Encode

(v any)

Source from the content-addressed store, hash-verified

504
505// Encode is documented at https://golang.org/pkg/encoding/json/#Encoder.Encode
506func (enc *Encoder) Encode(v any) error {
507 if enc.err != nil {
508 return enc.err
509 }
510
511 var err error
512 buf := encoderBufferPool.Get().(*encoderBuffer)
513
514 buf.data, err = Append(buf.data[:0], v, enc.flags)
515 if err != nil {
516 encoderBufferPool.Put(buf)
517 return err
518 }
519
520 if (enc.flags & appendNewline) != 0 {
521 buf.data = append(buf.data, '\n')
522 }
523 b := buf.data
524
525 if enc.prefix != "" || enc.indent != "" {
526 if enc.buffer == nil {
527 enc.buffer = new(bytes.Buffer)
528 enc.buffer.Grow(2 * len(buf.data))
529 } else {
530 enc.buffer.Reset()
531 }
532 Indent(enc.buffer, buf.data, enc.prefix, enc.indent)
533 b = enc.buffer.Bytes()
534 }
535
536 if _, err := enc.writer.Write(b); err != nil {
537 enc.err = err
538 }
539
540 encoderBufferPool.Put(buf)
541 return err
542}
543
544// SetEscapeHTML is documented at https://golang.org/pkg/encoding/json/#Encoder.SetEscapeHTML
545func (enc *Encoder) SetEscapeHTML(on bool) {

Callers 7

BenchmarkCodeEncoderFunction · 0.95
TestMainFunction · 0.95
TestCodecFunction · 0.95
TestCodecDurationFunction · 0.95
TestSetTrustRawMessageFunction · 0.95
TestSetAppendNewlineFunction · 0.95
encodeBytesMethod · 0.45

Calls 5

IndentFunction · 0.85
BytesMethod · 0.80
WriteMethod · 0.80
AppendFunction · 0.70
ResetMethod · 0.45

Tested by 6

BenchmarkCodeEncoderFunction · 0.76
TestMainFunction · 0.76
TestCodecFunction · 0.76
TestCodecDurationFunction · 0.76
TestSetTrustRawMessageFunction · 0.76
TestSetAppendNewlineFunction · 0.76