Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 是否有可能更改GinGionic中的默认绑定时间戳格式?_Json_Go_Go Gorm_Go Gin - Fatal编程技术网

Json 是否有可能更改GinGionic中的默认绑定时间戳格式?

Json 是否有可能更改GinGionic中的默认绑定时间戳格式?,json,go,go-gorm,go-gin,Json,Go,Go Gorm,Go Gin,我有个问题要问,尤其是金吉奥尼克和戈姆 假设我有这样的模型 //教室结构。 类型教室结构{ 戈姆模型 名称字符串`json:“名称”` 代码字符串`json:“代码”` 开始时间。时间`json:“开始时间”` } 我想用这个JSON创建教室模型的数据 { “名称”:“数学”, “代码”:“数学robie先生”, “开始于”:“2020-10-10 10:00:00” } 但是当我绑定JSON数据时,我得到了以下错误 parsing time ""2020-10-10 1

我有个问题要问,尤其是金吉奥尼克和戈姆

假设我有这样的模型

//教室结构。
类型教室结构{
戈姆模型
名称字符串`json:“名称”`
代码字符串`json:“代码”`
开始时间。时间`json:“开始时间”`
}
我想用这个JSON创建
教室
模型的数据

{
“名称”:“数学”,
“代码”:“数学robie先生”,
“开始于”:“2020-10-10 10:00:00”
}
但是当我绑定JSON数据时,我得到了以下错误

parsing time ""2020-10-10 10:00:00"" as ""2006-01-02T15:04:05Z07:00"": cannot parse " 10:00:00"" as "T"
我知道出现此错误是因为我发送的格式与时间的格式不完全一致。时间

是否可以设置时间的默认格式。时间

怎么做

因为我尝试在
time.time
之后添加.Format,但出现了错误

//教室结构。
类型教室结构{
戈姆模型
名称字符串`json:“名称”`
代码字符串`json:“代码”`
StartedAt time.time.Format(“2006-01-02 15:04:05”)`json:“开始于”`
}

我通过创建包含时间的新结构来解决这个问题

//JSONData结构。
类型JSONData结构{
时间,时间
}
在我看到一些示例之后,我添加了一些方法


//扫描JSONDate。
func(j*JSONDate)扫描(值接口{})(错误){
nullTime:=&sql.nullTime{}
err=nullTime.Scan(值)
*j=JSONDate{nullTime.Time}
返回
}
//值JSONDate。
func(j JSONDate)Value()(driver.Value,错误){
y、 m,d:=时间.time(j.time).Date()
返回time.Date(y,m,d,0,0,0,0,time.time(j.time).Location()),nil
}
//GORMDATATATYPE gorm通用数据类型
func(j JSONDate)GormDataType()字符串{
返回“时间戳”
}
为了杜松子酒。另一个@Eklavya给出。所以我添加了另一种方法


//拆封。
func(j*JSONDate)解组JSON(b[]字节)错误{
s:=strings.Trim(字符串(b),“\”)
t、 err:=time.Parse(helpers.YMDHIS,s)
如果错误!=零{
返回错误
}
*j=JSONDate{
时间:t,,
}
归零
}
//马绍尔。
func(j JSONDate)MarshalJSON()([]字节,错误){
返回[]字节(“\”+j.Time.Format(helpers.YMDHIS)+“\”),无
}
//格式化方法。
func(j JSONDate)格式(s字符串)字符串{
t:=时间时间(j.time)
return t.Format(helpers.YMDHIS)
}

这很有效!

在gin中有很多很好的解决方案,你可以使用Hi@Eklavya谢谢你的评论。但是我知道我有一个问题
sql:converting argument$6 type:unsupported type models.JSONDate,一个struct
我尝试使用gin查找这个问题,你可以使用time\u格式,例如:生日时间。time
time\u格式:“2006-01-02“
@Eklavya我已经尝试过了,但仍然无法解析我使用的时间格式<代码>2006-01-02 15:04:05