diff --git a/internal/jsonstore/jsonstore.go b/internal/jsonstore/jsonstore.go index c0321bad..598a6eea 100644 --- a/internal/jsonstore/jsonstore.go +++ b/internal/jsonstore/jsonstore.go @@ -2,7 +2,6 @@ package jsonstore import ( "encoding/json" - "maps" "os" "path/filepath" "reflect" @@ -114,7 +113,7 @@ func (s *MapStore[VT]) Initialize() { } func (s MapStore[VT]) MarshalJSON() ([]byte, error) { - return sonic.Marshal(maps.Collect(s.Range)) + return sonic.Marshal(xsync.ToPlainMap(s.Map)) } func (s *MapStore[VT]) UnmarshalJSON(data []byte) error { diff --git a/internal/net/types/url.go b/internal/net/types/url.go index 82a04ded..dcc1ebaf 100644 --- a/internal/net/types/url.go +++ b/internal/net/types/url.go @@ -3,6 +3,7 @@ package nettypes import ( urlPkg "net/url" + "github.com/bytedance/sonic" "github.com/yusing/godoxy/internal/utils" ) @@ -48,7 +49,7 @@ func (u *URL) MarshalJSON() (text []byte, err error) { if u == nil { return []byte("null"), nil } - return []byte("\"" + u.URL.String() + "\""), nil + return sonic.Marshal(u.URL.String()) } func (u *URL) Equals(other *URL) bool { diff --git a/internal/types/health.go b/internal/types/health.go index 14f8e75a..797c08f3 100644 --- a/internal/types/health.go +++ b/internal/types/health.go @@ -58,7 +58,7 @@ type ( LastSeenStr string `json:"lastSeenStr"` Detail string `json:"detail"` URL string `json:"url"` - Extra *HealthExtra `json:"extra" extensions:"x-nullable"` + Extra *HealthExtra `json:"extra,omitempty" extensions:"x-nullable"` } // @name HealthJSON HealthJSONRepr struct {