package util

import (
	"cicv-data-closedloop/pji/common/ent"
	"cicv-data-closedloop/pji/common/log"
	"encoding/json"
)

func JsonStringToMap(source string) (map[string]interface{}, error) {
	var dataMap map[string]interface{}
	err := json.Unmarshal([]byte(source), &dataMap)
	if err != nil {
		return nil, err
	} else {
		return dataMap, nil
	}
}

func MapToJsonString(inputMap map[string]interface{}) (string, error) {
	jsonBytes, err := json.Marshal(inputMap)
	if err != nil {
		return "", err
	}
	return string(jsonBytes), nil
}

func TimeWindowToJson(msg ent.TimeWindow) string {
	jsonData, err := json.Marshal(msg)
	if err != nil {
		log.GlobalLogger.Error("timeWindow", msg, "转换为json时出错:", err)
	}
	return string(jsonData)
}