尝试检索值" default-token-k99mq"来自JSON in go program ...
const input = `{
"kind": "ServiceAccount",
"apiVersion": "v1",
"metadata": {
"name": "default",
"namespace": "mynamespace",
"selfLink": "/api/v1/namespaces/mynamespace/serviceaccounts/default",
"uid": "483d1043-4d68-11e7-be08-3a3f3b149220",
"resourceVersion": "425039",
"creationTimestamp": "2017-06-09T23:06:34Z"
},
"secrets": [
{
"name": "default-token-k99mq"
}
]
}`
需要从secrets
数组
答案 0 :(得分:1)
您可以执行此操作https://play.golang.org/p/27eKFmBCHY
package main
import (
"fmt"
"encoding/json"
)
func main() {
const input = `{
"kind": "ServiceAccount",
"apiVersion": "v1",
"metadata": {
"name": "default",
"namespace": "mynamespace",
"selfLink": "/api/v1/namespaces/mynamespace/serviceaccounts/default",
"uid": "483d1043-4d68-11e7-be08-3a3f3b149220",
"resourceVersion": "425039",
"creationTimestamp": "2017-06-09T23:06:34Z"
},
"secrets": [
{
"name": "default-token-k99mq"
}
]
}`
type NameStruct struct {
Name string `json:"name"`
}
type Secret struct {
Secrets []NameStruct `json:"secrets"`
}
secret := Secret{}
json.Unmarshal([]byte(input), &secret)
fmt.Println(secret.Secrets[0].Name)
}