json.go 749 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package inout
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. )
  6. func ObjToJson(obj any) string {
  7. data, err := json.Marshal(obj)
  8. if err != nil {
  9. return fmt.Sprintf("Eroare: %+v\n", err)
  10. }
  11. return string(data)
  12. }
  13. func ObjToFile(filename string, obj any, beauty bool) error {
  14. if beauty {
  15. data, err := json.MarshalIndent(obj, "", " ")
  16. if err != nil {
  17. return err
  18. }
  19. return SaveObjToFile(filename, data)
  20. }
  21. data, err := json.Marshal(obj)
  22. if err != nil {
  23. return err
  24. }
  25. return SaveObjToFile(filename, data)
  26. }
  27. func ByteToObj(obj any, data []byte) error {
  28. return json.Unmarshal(data, obj)
  29. }
  30. func FileToObj(filename string, obj any) error {
  31. data, err := ReadFile(filename)
  32. if err != nil {
  33. return err
  34. }
  35. return json.Unmarshal(data, obj)
  36. }