mirror of
https://github.com/go-kratos/kratos.git
synced 2025-01-14 02:33:03 +02:00
Added ability to configure protojson (#1993)
This commit is contained in:
parent
c9f95dc2e8
commit
912abb4848
@ -1,15 +1,16 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
stdjson "encoding/json"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"strconv"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"google.golang.org/protobuf/encoding/protojson"
|
||||
"google.golang.org/protobuf/proto"
|
||||
|
||||
"github.com/go-kratos/kratos/v2/encoding/json"
|
||||
)
|
||||
|
||||
var (
|
||||
@ -128,14 +129,14 @@ func (v *atomicValue) Duration() (time.Duration, error) {
|
||||
}
|
||||
|
||||
func (v *atomicValue) Scan(obj interface{}) error {
|
||||
data, err := json.Marshal(v.Load())
|
||||
data, err := stdjson.Marshal(v.Load())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if pb, ok := obj.(proto.Message); ok {
|
||||
return protojson.Unmarshal(data, pb)
|
||||
return json.UnmarshalOptions.Unmarshal(data, pb)
|
||||
}
|
||||
return json.Unmarshal(data, obj)
|
||||
return stdjson.Unmarshal(data, obj)
|
||||
}
|
||||
|
||||
type errValue struct {
|
||||
|
Loading…
Reference in New Issue
Block a user