MapToJosn.go 1005 B

1234567891011121314151617181920212223242526272829303132333435
  1. package lib
  2. import (
  3. "Cold_Data/models"
  4. "encoding/json"
  5. "io/ioutil"
  6. )
  7. // 将map序列化为JSON或其他格式:可以使用encoding/json包将map转换为JSON字符串,然后将该字符串写入文件或数据库。
  8. func SaveMapToFile(m map[int]*models.Company_Project, filename string) error {
  9. // 将map序列化为JSON字符串
  10. data, err := json.Marshal(m)
  11. if err != nil {
  12. return err
  13. }
  14. // 将JSON字符串写入文件
  15. err = ioutil.WriteFile(filename, data, 0644)
  16. return err
  17. }
  18. // 从文件或数据库中读取数据并反序列化为map:可以使用相同的encoding/json包将JSON字符串反序列化为map对象。
  19. func LoadMapFromFile(filename string) (map[int]*models.Company_Project, error) {
  20. // 读取文件中的JSON字符串
  21. data, err := ioutil.ReadFile(filename)
  22. if err != nil {
  23. return nil, err
  24. }
  25. // 反序列化JSON字符串为map对象
  26. var m map[int]*models.Company_Project
  27. err = json.Unmarshal(data, &m)
  28. if err != nil {
  29. return nil, err
  30. }
  31. return m, nil
  32. }