在我的项目中,我使用光纤 bodyparser 来解析我的端点接收到的 json。我可以解析整数和字符串,但如果我需要解析时间怎么办?考虑以下代码:
app.Post("/post", func(c *fiber.Ctx) error {
payload := struct {
Name string `json:"name"`
Email string `json:"email"`
StartedAt time.Time `json:"startedAt"` //<==== error here
ExpireAt time.Time `json:"expireAt"`
}{}
if err := c.BodyParser(&payload); err != nil {
return err
}
return c.JSON(payload)
}
我收到 01.01.2001 12:00 格式的字符串,但收到以下错误:
json: cannot unmarshal \"\\\"01.01.2001 00:00\\\",\\\"expireAt\\\":\\\"0...\" into Go struct field requests.Campaign.startedAt of type time.Time"
回答1
似乎 Date 应该以 ISO 字符串格式(js 中的 .toISOString() 或其他东西)传递。如果在官方文档中以某种方式提到它会很好。
谢谢你。