1 回答

TA貢獻1784條經驗 獲得超2個贊
首先關閉
我希望您遇到的問題是沒有使用標簽。要解析 JSON,結構的名稱必須與 JSON 字段中的名稱匹配。在這里閱讀Golang Marshal
其次 wfMetadata 有一個小寫的第一個字母,這意味著它不會被導入。
第三,
workflow.metadata
andworkflow.items[i].spec.arguments
被設置為 a{}
而不是 emptystring""
。我認為他們不應該是string
。interface{}
如果您不知道或不關心,則可以使用 open 來避免這種情況,或者使用您要連接的 API 中的官方文檔實際實現它們。作為說明,使用
[]struct
對我來說似乎是錯誤的。而是在用法中定義它
請注意,通過使用像jetbrains 的 GoLand這樣的 IDE,他們首先支持通過簡單地將 JSON 粘貼到
.go
文件中來將 JSON 轉換為結構。他們一開始可能會讓人望而生畏,但確實有很大幫助,并且會在幾秒鐘內為您完成大部分工作。
現在試試這個,并了解為什么以及如何更好地工作。
type Status struct {
Phase string `json:"phase"`
StartedAt string `json:"startedAt"`
FinishedAt string `json:"finishedAt"`
}
type ItemMetadata struct {
Name string `json:"name"`
Namespace string `json:"namespace"`
UID string `json:"uid"`
CreationTimestamp string `json:"creationTimestamp"`
}
type Items struct {
Metadata ItemMetadata `json:"metadata"`
Status Status `json:"status"`
Spec interface{} `json:"spec"`
}
type Workflow struct {
Metadata interface{} `json:"metadata"`
Items []Items `json:"items"`
}
- 1 回答
- 0 關注
- 129 瀏覽
添加回答
舉報