【Go】golangで配列(struct)をjsonへ変換する

import "encoding/json"
jsonパッケージの引数に配列を指定してあげれば変換してくれる
data, _ := json.Marshal(m)
package main import ( "context" "encoding/json" "fmt" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" "log" "os" "path/filepath" ) func main() { // Kubeconfigのファイルパスを指定 kubeconfig := filepath.Join(os.Getenv("HOME"), ".kube", "config") config, err := clientcmd.BuildConfigFromFlags("", kubeconfig) if err != nil { log.Fatal(err) } // Kubeconfigを読み込む clientset, err := kubernetes.NewForConfig(config) if err != nil { log.Fatal(err) } // Pod一覧を呼び出す namespace := "default" pods, err := clientset.CoreV1().Pods(namespace).List(context.TODO(), metav1.ListOptions{}) if err != nil { log.Fatalln("failed to get pods:", err) } m := map[string]string{} // print pods // pods.Items: []v1.Pod for _, pod := range pods.Items { m[pod.Name] = string(pod.Status.Phase) } data, _ := json.Marshal(m) fmt.Printf(string(data)) }
{ "external-dns-547f4784f7-852zf": "Running", "nginx-deployment-574b87c764-8vwdz": "Running", "nginx-deployment-574b87c764-dnr6m": "Running", "v01-app-54fc4b5d44-k5zfp": "Running", "v01-db-5b756dc6b-57grv": "Running" }
marshalは元帥?という意味?黒ひげ?
ネットワーク越しに受け取ったjsonのbyte配列をjsonへ変換するときに使う