json_unmarshal.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // SiYuan - Refactor your thinking
  2. // Copyright (c) 2020-present, b3log.org
  3. //
  4. // This program is free software: you can redistribute it and/or modify
  5. // it under the terms of the GNU Affero General Public License as published by
  6. // the Free Software Foundation, either version 3 of the License, or
  7. // (at your option) any later version.
  8. //
  9. // This program is distributed in the hope that it will be useful,
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. // GNU Affero General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU Affero General Public License
  15. // along with this program. If not, see <https://www.gnu.org/licenses/>.
  16. //go:build !(windows && amd64)
  17. package filesys
  18. import (
  19. "time"
  20. "github.com/goccy/go-json"
  21. "github.com/siyuan-note/logging"
  22. )
  23. func unmarshalJSON(data []byte, v interface{}) error {
  24. now := time.Now()
  25. defer func() {
  26. elapsed := time.Since(now)
  27. logging.LogInfof("[go-json] unmarshalJSON took %s", elapsed)
  28. }()
  29. return json.Unmarshal(data, v)
  30. }