一直试图将来自 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"`
- 1 回答
- 0 关注
- 124 浏览
添加回答
举报
0/150
提交
取消