代码拉取完成,页面将自动刷新
package convert
import (
"encoding/json"
"time"
"google.golang.org/protobuf/encoding/protojson"
"google.golang.org/protobuf/proto"
)
// StrTime 将时间戳转成字符串
func StrTime(timestamp int64, timeLayout string) string {
if timestamp == 0 {
return ""
}
return time.Unix(timestamp, 0).Format(timeLayout)
}
// UnixTime 将字符串转成时间戳
func UnixTime(timeStr, layout string) int64 {
date, err := time.ParseInLocation(layout, timeStr, time.Local)
if err != nil {
return 0
}
return date.Unix()
}
// ProtoToJson 转换proto为json string
func ProtoToJson(m proto.Message) string {
d, _ := protojson.MarshalOptions{EmitUnpopulated: true}.Marshal(m)
return string(d)
}
// JsonToProto 转换json string为proto
func JsonToProto(d string, m proto.Message) {
protojson.UnmarshalOptions{DiscardUnknown: true}.Unmarshal([]byte(d), m)
}
// StructToJson 转换struct为json string
func StructToJson(data interface{}) string {
b, _ := json.Marshal(data)
return string(b)
}
// JsonToStruct 转换json string为struct,忽略转换错误
func JsonToStruct(data string, v interface{}) {
json.Unmarshal([]byte(data), v)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。