official_adapter.go 648 B

1234567891011121314151617181920212223242526272829303132
  1. // +build json // 仅当编译时带 -tags=json 参数时才生效
  2. package jsonutil
  3. import (
  4. "encoding/json"
  5. "strings"
  6. )
  7. var (
  8. Marshal = json.Marshal
  9. Unmarshal = json.Unmarshal
  10. MarshalToString = func(v interface{}) (string, error) {
  11. data, err := json.Marshal(v)
  12. if nil != err {
  13. return "", err
  14. }
  15. return string(data), nil
  16. }
  17. UnmarshalFromString = func(str string, v interface{}) error {
  18. str = strings.TrimSpace(str)
  19. if str == "" {
  20. return nil
  21. }
  22. data := []byte(str)
  23. return json.Unmarshal(data, v)
  24. }
  25. MarshalIndent = json.MarshalIndent
  26. NewDecoder = json.NewDecoder
  27. NewEncoder = json.NewEncoder
  28. )