package tools

import (
	"encoding/json"
)

// 获得一个对象的Key,Value值
func JsonMarshal(v interface{}) (jsonStr string, err error) {

	jsonBytes, err := json.Marshal(v)
	if err != nil {

		return "", err
	} else {

		return string(jsonBytes), nil
	}

}

// 对象转换为Json,并且格式化清晰的样子
func JsonMarshalFormat(v interface{}) (jsonStr string, err error) {

	jsonBytes, err := json.MarshalIndent(v, "", "    ")
	if err != nil {
		return "", err
	} else {
		return string(jsonBytes), nil
	}

}

// JSON反序列化
func JsonUnmarshal(jsonStr string, v interface{}) error {
	return json.Unmarshal([]byte(jsonStr), v)
}