为了账号安全,请及时绑定邮箱和手机立即绑定

Microsoft 日历事件响应 Go 结构

Microsoft 日历事件响应 Go 结构

Go
海绵宝宝撒 2022-06-21 16:36:00
一直试图将来自 Microsoft 的 Graph API 的响应解组为 Go 结构,但我不断收到错误“json: cannot unmarshal object into Go struct field .value.start of type []struct { DateTime string "json:"dateTime"";时区字符串 "json:"timeZone"" }"。下面是我的结构:type MicrosoftCalendarEventsResponse struct {       Value []struct {        Etag    string `json:"@odata.etag"`        Id      string `json:"id"`        Subject string `json:"subject"`        Start   []struct {            DateTime string `json:"dateTime"`            TimeZone string `json:"timeZone"`        } `json:"start"`        End []struct {            DateTime string `json:"dateTime"`            TimeZone string `json:"timeZone"`        } `json:"end"`        OriginalStartTimeZone string `json:"originalStartTimeZone"`        OriginalEndTimeZone   string `json:"originalEndTimeZone"`        ICalUId                    string `json:"iCalUId"`        ReminderMinutesBeforeStart int    `json:"reminderMinutesBeforeStart"`        IsReminderOn               bool   `json:"isReminderOn"`    } `json:"value"`}您可以在其中清楚地看到给出错误的部分:"start":{"dateTime":"2019-12-17T17:00:00.0000000","timeZone":"UTC"}谁能告诉我我做错了什么?尝试了几个小时没有任何进展,我真的不知道出了什么问题。Etag、Id、Subject 等其他内容正常工作。它只有嵌套的 [] 结构不起作用。
查看完整描述

1 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

Values为了捕获日历事件(复数),顶层是一个结构切片是有意义的。


但是,在特定的Value中,您的Start和End字段也被定义为结构切片,这可能不是您想要的。


尝试一个简单的结构:


Start struct {

        DateTime string `json:"dateTime"`

        TimeZone string `json:"timeZone"`

} `json:"start"`


End struct {

        DateTime string `json:"dateTime"`

        TimeZone string `json:"timeZone"`

} `json:"end"`


查看完整回答
反对 回复 2022-06-21
  • 1 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信