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 关注
- 110 浏览
添加回答
举报