diff --git a/go.sum b/go.sum index 670c2713f..a176f11be 100644 --- a/go.sum +++ b/go.sum @@ -758,8 +758,6 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0 h1:hjy8E9ON/egN1tAYqKb61G10WtihqetD4sz2H+8nIeA= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/internal/restic/id.go b/internal/restic/id.go index c098dbfb3..6d85ed68a 100644 --- a/internal/restic/id.go +++ b/internal/restic/id.go @@ -3,7 +3,6 @@ package restic import ( "crypto/rand" "encoding/hex" - "encoding/json" "fmt" "io" @@ -98,7 +97,13 @@ func (id ID) EqualString(other string) (bool, error) { // MarshalJSON returns the JSON encoding of id. func (id ID) MarshalJSON() ([]byte, error) { - return json.Marshal(id.String()) + buf := make([]byte, 2+hex.EncodedLen(len(id))) + + buf[0] = '"' + hex.Encode(buf[1:], id[:]) + buf[len(buf)-1] = '"' + + return buf, nil } // UnmarshalJSON parses the JSON-encoded data and stores the result in id.