From 3c358ede6d32ce2055ca4fed9da337034c24a5c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=B4=8A=E1=B4=8F=E1=B4=87=20=E1=B4=84=CA=9C=E1=B4=87?= =?UTF-8?q?=C9=B4?= Date: Sun, 8 Feb 2026 00:34:36 -0500 Subject: [PATCH] all: migrate from json-iterator to encoding/json (#8159) --- go.mod | 3 --- go.sum | 8 -------- internal/database/actions.go | 6 +++--- internal/database/backup.go | 12 ++++++------ internal/database/login_sources.go | 20 +++++++++++--------- internal/database/webhook.go | 14 +++++++------- internal/database/webhook_dingtalk.go | 4 ++-- internal/database/webhook_discord.go | 8 ++++---- internal/database/webhook_slack.go | 6 +++--- internal/route/admin/admin.go | 5 ++--- internal/route/api/v1/repo/hook.go | 6 +++--- internal/route/lfs/batch.go | 6 +++--- internal/route/repo/webhook.go | 10 +++++----- internal/template/template.go | 4 ++-- 14 files changed, 51 insertions(+), 61 deletions(-) diff --git a/go.mod b/go.mod index cece62d87..5d55f82fa 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,6 @@ require ( github.com/google/uuid v1.6.0 github.com/inbucket/html2text v1.0.0 github.com/issue9/identicon v1.2.1 - github.com/json-iterator/go v1.1.12 github.com/microcosm-cc/bluemonday v1.0.27 github.com/msteinert/pam v1.2.0 github.com/niklasfasching/go-org v1.9.1 @@ -113,8 +112,6 @@ require ( github.com/mattn/go-sqlite3 v1.14.24 // indirect github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 // indirect github.com/microsoft/go-mssqldb v0.17.0 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/ncruces/go-strftime v0.1.9 // indirect github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6 // indirect diff --git a/go.sum b/go.sum index 357b9bb3d..e354af274 100644 --- a/go.sum +++ b/go.sum @@ -200,7 +200,6 @@ github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4r github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= @@ -266,8 +265,6 @@ github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkr github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= @@ -315,11 +312,6 @@ github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwX github.com/microcosm-cc/bluemonday v1.0.27/go.mod h1:jFi9vgW+H7c3V0lb6nR74Ib/DIB5OBs92Dimizgw2cA= github.com/microsoft/go-mssqldb v0.17.0 h1:Fto83dMZPnYv1Zwx5vHHxpNraeEaUlQ/hhHLgZiaenE= github.com/microsoft/go-mssqldb v0.17.0/go.mod h1:OkoNGhGEs8EZqchVTtochlXruEhEOaO4S0d2sB5aeGQ= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= github.com/msteinert/pam v1.2.0 h1:mYfjlvN2KYs2Pb9G6nb/1f/nPfAttT/Jee5Sq9r3bGE= diff --git a/internal/database/actions.go b/internal/database/actions.go index e87a80f38..0aa4e1c29 100644 --- a/internal/database/actions.go +++ b/internal/database/actions.go @@ -2,6 +2,7 @@ package database import ( "context" + "encoding/json" "fmt" "path" "strconv" @@ -12,7 +13,6 @@ import ( "github.com/cockroachdb/errors" "github.com/gogs/git-module" api "github.com/gogs/go-gogs-client" - jsoniter "github.com/json-iterator/go" "gorm.io/gorm" log "unknwon.dev/clog/v2" @@ -245,7 +245,7 @@ func (s *ActionsStore) MirrorSyncPush(ctx context.Context, opts MirrorSyncPushOp return errors.Wrap(err, "prepare webhooks") } - data, err := jsoniter.Marshal(opts.Commits) + data, err := json.Marshal(opts.Commits) if err != nil { return errors.Wrap(err, "marshal JSON") } @@ -529,7 +529,7 @@ func (s *ActionsStore) CommitRepo(ctx context.Context, opts CommitRepoOptions) e opts.Commits.Commits = opts.Commits.Commits[:conf.UI.FeedMaxCommitNum] } - data, err := jsoniter.Marshal(opts.Commits) + data, err := json.Marshal(opts.Commits) if err != nil { return errors.Wrap(err, "marshal JSON") } diff --git a/internal/database/backup.go b/internal/database/backup.go index 35e00c947..cebedf4a5 100644 --- a/internal/database/backup.go +++ b/internal/database/backup.go @@ -4,6 +4,7 @@ import ( "bufio" "bytes" "context" + "encoding/json" "fmt" "io" "os" @@ -13,7 +14,6 @@ import ( "sync" "github.com/cockroachdb/errors" - jsoniter "github.com/json-iterator/go" "gorm.io/gorm" "gorm.io/gorm/schema" log "unknwon.dev/clog/v2" @@ -99,7 +99,7 @@ func dumpTable(ctx context.Context, db *gorm.DB, table any, w io.Writer) error { e.CreatedAt = e.CreatedAt.UTC() } - err = jsoniter.NewEncoder(w).Encode(elem) + err = json.NewEncoder(w).Encode(elem) if err != nil { return errors.Wrap(err, "encode JSON") } @@ -129,7 +129,7 @@ func dumpLegacyTables(ctx context.Context, dirPath string, verbose bool) error { } if err = x.Context(ctx).Asc("id").Iterate(table, func(idx int, bean any) (err error) { - return jsoniter.NewEncoder(f).Encode(bean) + return json.NewEncoder(f).Encode(bean) }); err != nil { _ = f.Close() return errors.Newf("dump table '%s': %v", tableName, err) @@ -207,7 +207,7 @@ func importTable(ctx context.Context, db *gorm.DB, table any, r io.Reader) error cleaned := bytes.ReplaceAll(scanner.Bytes(), []byte("\\u0000"), []byte("")) elem := reflect.New(reflect.TypeOf(table).Elem()).Interface() - err = jsoniter.Unmarshal(cleaned, elem) + err = json.Unmarshal(cleaned, elem) if err != nil { return errors.Wrap(err, "unmarshal JSON to struct") } @@ -269,7 +269,7 @@ func importLegacyTables(ctx context.Context, dirPath string, verbose bool) error _, isInsertProcessor := table.(xorm.BeforeInsertProcessor) scanner := bufio.NewScanner(f) for scanner.Scan() { - if err = jsoniter.Unmarshal(scanner.Bytes(), table); err != nil { + if err = json.Unmarshal(scanner.Bytes(), table); err != nil { return errors.Newf("unmarshal to struct: %v", err) } @@ -283,7 +283,7 @@ func importLegacyTables(ctx context.Context, dirPath string, verbose bool) error DeadlineUnix int64 ClosedDateUnix int64 } - if err = jsoniter.Unmarshal(scanner.Bytes(), &meta); err != nil { + if err = json.Unmarshal(scanner.Bytes(), &meta); err != nil { log.Error("Failed to unmarshal to map: %v", err) } diff --git a/internal/database/login_sources.go b/internal/database/login_sources.go index b2edba169..17b596ab1 100644 --- a/internal/database/login_sources.go +++ b/internal/database/login_sources.go @@ -2,12 +2,12 @@ package database import ( "context" + "encoding/json" "fmt" "strconv" "time" "github.com/cockroachdb/errors" - jsoniter "github.com/json-iterator/go" "gorm.io/gorm" "gogs.io/gogs/internal/auth" @@ -41,7 +41,8 @@ func (s *LoginSource) BeforeSave(_ *gorm.DB) (err error) { if s.Provider == nil { return nil } - s.Config, err = jsoniter.MarshalToString(s.Provider.Config()) + data, err := json.Marshal(s.Provider.Config()) + s.Config = string(data) return err } @@ -72,7 +73,7 @@ func (s *LoginSource) AfterFind(_ *gorm.DB) error { switch s.Type { case auth.LDAP: var cfg ldap.Config - err := jsoniter.UnmarshalFromString(s.Config, &cfg) + err := json.Unmarshal([]byte(s.Config), &cfg) if err != nil { return err } @@ -80,7 +81,7 @@ func (s *LoginSource) AfterFind(_ *gorm.DB) error { case auth.DLDAP: var cfg ldap.Config - err := jsoniter.UnmarshalFromString(s.Config, &cfg) + err := json.Unmarshal([]byte(s.Config), &cfg) if err != nil { return err } @@ -88,7 +89,7 @@ func (s *LoginSource) AfterFind(_ *gorm.DB) error { case auth.SMTP: var cfg smtp.Config - err := jsoniter.UnmarshalFromString(s.Config, &cfg) + err := json.Unmarshal([]byte(s.Config), &cfg) if err != nil { return err } @@ -96,7 +97,7 @@ func (s *LoginSource) AfterFind(_ *gorm.DB) error { case auth.PAM: var cfg pam.Config - err := jsoniter.UnmarshalFromString(s.Config, &cfg) + err := json.Unmarshal([]byte(s.Config), &cfg) if err != nil { return err } @@ -104,7 +105,7 @@ func (s *LoginSource) AfterFind(_ *gorm.DB) error { case auth.GitHub: var cfg github.Config - err := jsoniter.UnmarshalFromString(s.Config, &cfg) + err := json.Unmarshal([]byte(s.Config), &cfg) if err != nil { return err } @@ -112,7 +113,7 @@ func (s *LoginSource) AfterFind(_ *gorm.DB) error { case auth.Mock: var cfg mockProviderConfig - err := jsoniter.UnmarshalFromString(s.Config, &cfg) + err := json.Unmarshal([]byte(s.Config), &cfg) if err != nil { return err } @@ -215,7 +216,8 @@ func (s *LoginSourcesStore) Create(ctx context.Context, opts CreateLoginSourceOp IsActived: opts.Activated, IsDefault: opts.Default, } - source.Config, err = jsoniter.MarshalToString(opts.Config) + data, err := json.Marshal(opts.Config) + source.Config = string(data) if err != nil { return nil, err } diff --git a/internal/database/webhook.go b/internal/database/webhook.go index 5906e2681..887d3f939 100644 --- a/internal/database/webhook.go +++ b/internal/database/webhook.go @@ -5,6 +5,7 @@ import ( "crypto/sha256" "crypto/tls" "encoding/hex" + "encoding/json" "fmt" "io" "net/url" @@ -13,7 +14,6 @@ import ( "github.com/cockroachdb/errors" "github.com/google/uuid" - jsoniter "github.com/json-iterator/go" log "unknwon.dev/clog/v2" "xorm.io/xorm" @@ -126,7 +126,7 @@ func (w *Webhook) AfterSet(colName string, _ xorm.Cell) { switch colName { case "events": w.HookEvent = &HookEvent{} - if err = jsoniter.Unmarshal([]byte(w.Events), w.HookEvent); err != nil { + if err = json.Unmarshal([]byte(w.Events), w.HookEvent); err != nil { log.Error("Unmarshal [%d]: %v", w.ID, err) } case "created_unix": @@ -138,7 +138,7 @@ func (w *Webhook) AfterSet(colName string, _ xorm.Cell) { func (w *Webhook) SlackMeta() *SlackMeta { s := &SlackMeta{} - if err := jsoniter.Unmarshal([]byte(w.Meta), s); err != nil { + if err := json.Unmarshal([]byte(w.Meta), s); err != nil { log.Error("Failed to get Slack meta [webhook_id: %d]: %v", w.ID, err) } return s @@ -151,7 +151,7 @@ func (w *Webhook) History(page int) ([]*HookTask, error) { // UpdateEvent handles conversion from HookEvent to Events. func (w *Webhook) UpdateEvent() error { - data, err := jsoniter.Marshal(w.HookEvent) + data, err := json.Marshal(w.HookEvent) w.Events = string(data) return err } @@ -475,7 +475,7 @@ func (t *HookTask) AfterSet(colName string, _ xorm.Cell) { } t.RequestInfo = &HookRequest{} - if err = jsoniter.Unmarshal([]byte(t.RequestContent), t.RequestInfo); err != nil { + if err = json.Unmarshal([]byte(t.RequestContent), t.RequestInfo); err != nil { log.Error("Unmarshal[%d]: %v", t.ID, err) } @@ -485,14 +485,14 @@ func (t *HookTask) AfterSet(colName string, _ xorm.Cell) { } t.ResponseInfo = &HookResponse{} - if err = jsoniter.Unmarshal([]byte(t.ResponseContent), t.ResponseInfo); err != nil { + if err = json.Unmarshal([]byte(t.ResponseContent), t.ResponseInfo); err != nil { log.Error("Unmarshal [%d]: %v", t.ID, err) } } } func (t *HookTask) ToJSON(v any) string { - p, err := jsoniter.Marshal(v) + p, err := json.Marshal(v) if err != nil { log.Error("Marshal [%d]: %v", t.ID, err) } diff --git a/internal/database/webhook_dingtalk.go b/internal/database/webhook_dingtalk.go index fc778cf13..8a1a4fa9f 100644 --- a/internal/database/webhook_dingtalk.go +++ b/internal/database/webhook_dingtalk.go @@ -1,11 +1,11 @@ package database import ( + "encoding/json" "fmt" "strings" "github.com/cockroachdb/errors" - jsoniter "github.com/json-iterator/go" "github.com/gogs/git-module" api "github.com/gogs/go-gogs-client" @@ -39,7 +39,7 @@ type DingtalkPayload struct { } func (p *DingtalkPayload) JSONPayload() ([]byte, error) { - data, err := jsoniter.MarshalIndent(p, "", " ") + data, err := json.MarshalIndent(p, "", " ") if err != nil { return []byte{}, err } diff --git a/internal/database/webhook_discord.go b/internal/database/webhook_discord.go index a804bccb6..e9b521696 100644 --- a/internal/database/webhook_discord.go +++ b/internal/database/webhook_discord.go @@ -1,12 +1,12 @@ package database import ( + "encoding/json" "fmt" "strconv" "strings" "github.com/cockroachdb/errors" - jsoniter "github.com/json-iterator/go" "github.com/gogs/git-module" api "github.com/gogs/go-gogs-client" @@ -47,7 +47,7 @@ type DiscordPayload struct { } func (p *DiscordPayload) JSONPayload() ([]byte, error) { - data, err := jsoniter.MarshalIndent(p, "", " ") + data, err := json.MarshalIndent(p, "", " ") if err != nil { return []byte{}, err } @@ -370,8 +370,8 @@ func getDiscordReleasePayload(p *api.ReleasePayload) *DiscordPayload { func GetDiscordPayload(p api.Payloader, event HookEventType, meta string) (payload *DiscordPayload, err error) { slack := &SlackMeta{} - if err := jsoniter.Unmarshal([]byte(meta), &slack); err != nil { - return nil, errors.Newf("jsoniter.Unmarshal: %v", err) + if err := json.Unmarshal([]byte(meta), slack); err != nil { + return nil, errors.Newf("unmarshal: %v", err) } switch event { diff --git a/internal/database/webhook_slack.go b/internal/database/webhook_slack.go index 6348b3374..330a84948 100644 --- a/internal/database/webhook_slack.go +++ b/internal/database/webhook_slack.go @@ -1,11 +1,11 @@ package database import ( + "encoding/json" "fmt" "strings" "github.com/cockroachdb/errors" - jsoniter "github.com/json-iterator/go" "github.com/gogs/git-module" api "github.com/gogs/go-gogs-client" @@ -38,7 +38,7 @@ type SlackPayload struct { } func (p *SlackPayload) JSONPayload() ([]byte, error) { - data, err := jsoniter.MarshalIndent(p, "", " ") + data, err := json.MarshalIndent(p, "", " ") if err != nil { return []byte{}, err } @@ -286,7 +286,7 @@ func getSlackReleasePayload(p *api.ReleasePayload) *SlackPayload { func GetSlackPayload(p api.Payloader, event HookEventType, meta string) (payload *SlackPayload, err error) { slack := &SlackMeta{} - if err := jsoniter.Unmarshal([]byte(meta), &slack); err != nil { + if err := json.Unmarshal([]byte(meta), slack); err != nil { return nil, errors.Newf("unmarshal: %v", err) } diff --git a/internal/route/admin/admin.go b/internal/route/admin/admin.go index ea5e39397..188d2e2be 100644 --- a/internal/route/admin/admin.go +++ b/internal/route/admin/admin.go @@ -1,13 +1,12 @@ package admin import ( + "encoding/json" "fmt" "runtime" "strings" "time" - jsoniter "github.com/json-iterator/go" - "gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/context" "gogs.io/gogs/internal/cron" @@ -217,7 +216,7 @@ func Config(c *context.Context) { Mode: strings.Title(conf.Log.Modes[i]), } - result, _ := jsoniter.MarshalIndent(conf.Log.Configs[i], "", " ") + result, _ := json.MarshalIndent(conf.Log.Configs[i], "", " ") loggers[i].Config = string(result) } c.Data["Loggers"] = loggers diff --git a/internal/route/api/v1/repo/hook.go b/internal/route/api/v1/repo/hook.go index fca6e55f9..280f9957e 100644 --- a/internal/route/api/v1/repo/hook.go +++ b/internal/route/api/v1/repo/hook.go @@ -1,11 +1,11 @@ package repo import ( + "encoding/json" "net/http" "slices" "github.com/cockroachdb/errors" - jsoniter "github.com/json-iterator/go" api "github.com/gogs/go-gogs-client" @@ -76,7 +76,7 @@ func CreateHook(c *context.APIContext, form api.CreateHookOption) { c.ErrorStatus(http.StatusUnprocessableEntity, errors.New("Missing config option: channel")) return } - meta, err := jsoniter.Marshal(&database.SlackMeta{ + meta, err := json.Marshal(&database.SlackMeta{ Channel: channel, Username: form.Config["username"], IconURL: form.Config["icon_url"], @@ -122,7 +122,7 @@ func EditHook(c *context.APIContext, form api.EditHookOption) { if w.HookTaskType == database.SLACK { if channel, ok := form.Config["channel"]; ok { - meta, err := jsoniter.Marshal(&database.SlackMeta{ + meta, err := json.Marshal(&database.SlackMeta{ Channel: channel, Username: form.Config["username"], IconURL: form.Config["icon_url"], diff --git a/internal/route/lfs/batch.go b/internal/route/lfs/batch.go index ac33e4027..b67f25a64 100644 --- a/internal/route/lfs/batch.go +++ b/internal/route/lfs/batch.go @@ -1,10 +1,10 @@ package lfs import ( + "encoding/json" "fmt" "net/http" - jsoniter "github.com/json-iterator/go" "gopkg.in/macaron.v1" log "unknwon.dev/clog/v2" @@ -19,7 +19,7 @@ func serveBatch(store Store) macaron.Handler { return func(c *macaron.Context, owner *database.User, repo *database.Repository) { var request batchRequest defer func() { _ = c.Req.Request.Body.Close() }() - err := jsoniter.NewDecoder(c.Req.Request.Body).Decode(&request) + err := json.NewDecoder(c.Req.Request.Body).Decode(&request) if err != nil { responseJSON(c.Resp, http.StatusBadRequest, responseError{ Message: strutil.ToUpperFirst(err.Error()), @@ -172,7 +172,7 @@ func responseJSON(w http.ResponseWriter, status int, v any) { w.Header().Set("Content-Type", contentType) w.WriteHeader(status) - err := jsoniter.NewEncoder(w).Encode(v) + err := json.NewEncoder(w).Encode(v) if err != nil { log.Error("Failed to encode JSON: %v", err) return diff --git a/internal/route/repo/webhook.go b/internal/route/repo/webhook.go index a7d628447..e76a2bc54 100644 --- a/internal/route/repo/webhook.go +++ b/internal/route/repo/webhook.go @@ -1,6 +1,7 @@ package repo import ( + "encoding/json" "fmt" "net/http" "net/url" @@ -10,7 +11,6 @@ import ( "github.com/cockroachdb/errors" "github.com/gogs/git-module" api "github.com/gogs/go-gogs-client" - jsoniter "github.com/json-iterator/go" "gopkg.in/macaron.v1" "gogs.io/gogs/internal/conf" @@ -213,7 +213,7 @@ func WebhooksSlackNewPost(c *context.Context, orCtx *orgRepoContext, f form.NewS } c.Data["SlackMeta"] = meta - p, err := jsoniter.Marshal(meta) + p, err := json.Marshal(meta) if err != nil { c.Error(err, "marshal JSON") return @@ -245,7 +245,7 @@ func WebhooksDiscordNewPost(c *context.Context, orCtx *orgRepoContext, f form.Ne } c.Data["SlackMeta"] = meta - p, err := jsoniter.Marshal(meta) + p, err := json.Marshal(meta) if err != nil { c.Error(err, "marshal JSON") return @@ -394,7 +394,7 @@ func WebhooksSlackEditPost(c *context.Context, orCtx *orgRepoContext, f form.New return } - meta, err := jsoniter.Marshal(&database.SlackMeta{ + meta, err := json.Marshal(&database.SlackMeta{ Channel: f.Channel, Username: f.Username, IconURL: f.IconURL, @@ -422,7 +422,7 @@ func WebhooksDiscordEditPost(c *context.Context, orCtx *orgRepoContext, f form.N return } - meta, err := jsoniter.Marshal(&database.SlackMeta{ + meta, err := json.Marshal(&database.SlackMeta{ Username: f.Username, IconURL: f.IconURL, Color: f.Color, diff --git a/internal/template/template.go b/internal/template/template.go index 16b1653f5..eec2a1538 100644 --- a/internal/template/template.go +++ b/internal/template/template.go @@ -1,6 +1,7 @@ package template import ( + "encoding/json" "fmt" "html/template" "mime" @@ -11,7 +12,6 @@ import ( "github.com/cockroachdb/errors" "github.com/editorconfig/editorconfig-core-go/v2" - jsoniter "github.com/json-iterator/go" "github.com/microcosm-cc/bluemonday" "golang.org/x/net/html/charset" "golang.org/x/text/transform" @@ -249,7 +249,7 @@ func ActionIcon(opType int) string { func ActionContent2Commits(act Actioner) *database.PushCommits { push := database.NewPushCommits() - if err := jsoniter.Unmarshal([]byte(act.GetContent()), push); err != nil { + if err := json.Unmarshal([]byte(act.GetContent()), push); err != nil { log.Error("Unmarshal:\n%s\nERROR: %v", act.GetContent(), err) } return push