json.go 704 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package json
  2. import (
  3. "encoding/json"
  4. "io"
  5. "log"
  6. "os"
  7. )
  8. func Log(v interface{}) {
  9. str, _ := json.MarshalIndent(v, "*", "\t")
  10. log.Println(string(str))
  11. }
  12. func Marshal(v interface{}) ([]byte, error) {
  13. return json.Marshal(v)
  14. }
  15. func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) {
  16. return json.MarshalIndent(v, prefix, indent)
  17. }
  18. func Unmarshal(data []byte, v interface{}) error {
  19. return json.Unmarshal(data, v)
  20. }
  21. func UnmarshalReader(r io.Reader, v interface{}) error {
  22. return Decode(r, v)
  23. }
  24. func UnmarshalFile(fileName string, v interface{}) (err error) {
  25. var f *os.File
  26. if f, err = os.Open(fileName); err != nil {
  27. return
  28. }
  29. err = Decode(f, v)
  30. f.Close()
  31. return
  32. }