MCPcopy Create free account
hub / github.com/astercloud/aster / MarshalDeterministicToBuffer

Function MarshalDeterministicToBuffer

pkg/util/json.go:34–39  ·  view source on GitHub ↗

MarshalDeterministicToBuffer 确定性地序列化到 buffer(减少内存分配)

(v any, buf *bytes.Buffer)

Source from the content-addressed store, hash-verified

32
33// MarshalDeterministicToBuffer 确定性地序列化到 buffer(减少内存分配)
34func MarshalDeterministicToBuffer(v any, buf *bytes.Buffer) error {
35 normalized := normalizeValue(reflect.ValueOf(v))
36 encoder := json.NewEncoder(buf)
37 encoder.SetEscapeHTML(false)
38 return encoder.Encode(normalized)
39}
40
41// normalizeValue 递归处理值,确保 map 的 key 有序
42func normalizeValue(v reflect.Value) any {

Callers 1

Calls 1

normalizeValueFunction · 0.85

Tested by 1