一直試圖將來自 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 關注
- 146 瀏覽
添加回答
舉報
0/150
提交
取消