mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-20 20:52:33 +02:00

* chore: replace gopkg.in/yaml.v3 vs goccy/go-yaml; replace encoding/json with bytedance/sonic * fix: yaml unmarshal panic * feat: custom json marshaler implementation * chore: fix import and err marshal handling --------- Co-authored-by: yusing <yusing@6uo.me>
24 lines
380 B
Go
24 lines
380 B
Go
package json
|
|
|
|
import (
|
|
"reflect"
|
|
)
|
|
|
|
type Map[V any] map[string]V
|
|
|
|
func (m Map[V]) MarshalJSONTo(buf []byte) []byte {
|
|
buf = append(buf, '{')
|
|
i := 0
|
|
n := len(m)
|
|
for k, v := range m {
|
|
buf = AppendString(buf, k)
|
|
buf = append(buf, ':')
|
|
buf = appendMarshal(reflect.ValueOf(v), buf)
|
|
if i != n-1 {
|
|
buf = append(buf, ',')
|
|
}
|
|
i++
|
|
}
|
|
buf = append(buf, '}')
|
|
return buf
|
|
}
|