JSON解析的ClusterRole在Go中不工作



我在Go中从Json解析ClusterRole对象中的元数据有问题。

我做了这个例子:

package main
import (
"encoding/json"
"fmt"
"k8s.io/kubernetes/pkg/apis/rbac"
)
func main() {
clusterDemo := rbac.ClusterRole{}
clusterRolesRaw := `{
"apiVersion": "rbac.authorization.k8s.io/v1",
"kind": "ClusterRole",
"metadata": {
"creationTimestamp": "2021-01-21T08:07:13Z",
"managedFields": [],
"name": "kubeadm:get-nodes",
"resourceVersion": "220",
"uid": "c78a8b10-cd20-4b64-8e4d-4f7f758c7b65"
},
"rules": []
}`
err := json.Unmarshal([]byte(clusterRolesRaw), &clusterDemo)
if err != nil {
fmt.Printf("unmarshal file: %v", err)
}
fmt.Printf("Name: %sn", clusterDemo.Name)
fmt.Printf("Kind: %sn", clusterDemo.Kind)
}

运行
# go get -v ./... 
# go run <filename>
Name: 
Kind: ClusterRole

可以看到,Kind字段被解析了,但是Name字段(元数据的一部分)没有被解析。

我的问题是为什么?看起来嵌套结构没有被解析。

任何帮助都是感激的,我想我遗漏了一些东西

"k8s.io/kubernetes/pkg/apis/rbac"更改为rbac "k8s.io/api/rbac/v1"

应该可以。

相关内容

  • 没有找到相关文章

最新更新