package lib

import (
	"Cold_Data/models"
	"encoding/json"
	"io/ioutil"
)

// 将map序列化为JSON或其他格式：可以使用encoding/json包将map转换为JSON字符串，然后将该字符串写入文件或数据库。
func SaveMapToFile(m map[int]*models.Company_Project, filename string) error {
	// 将map序列化为JSON字符串
	data, err := json.Marshal(m)
	if err != nil {
		return err
	}
	// 将JSON字符串写入文件
	err = ioutil.WriteFile(filename, data, 0644)
	return err
}

// 从文件或数据库中读取数据并反序列化为map：可以使用相同的encoding/json包将JSON字符串反序列化为map对象。
func LoadMapFromFile(filename string) (map[int]*models.Company_Project, error) {
	// 读取文件中的JSON字符串
	data, err := ioutil.ReadFile(filename)
	if err != nil {
		return nil, err
	}
	// 反序列化JSON字符串为map对象
	var m map[int]*models.Company_Project
	err = json.Unmarshal(data, &m)
	if err != nil {
		return nil, err
	}
	return m, nil
}
