How can I pretty-print JSON using Go?

后端 未结 11 1630
挽巷
挽巷 2020-12-07 08:12

Does anyone know of a simple way to pretty-print JSON output in Go?

The stock http://golang.org/pkg/encoding/json/ package does not seem to include functiona

11条回答
  •  天涯浪人
    2020-12-07 08:31

    package cube
    
    import (
        "encoding/json"
        "fmt"
        "github.com/magiconair/properties/assert"
        "k8s.io/api/rbac/v1beta1"
        v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
        "testing"
    )
    
    func TestRole(t *testing.T)  {
        clusterRoleBind := &v1beta1.ClusterRoleBinding{
            ObjectMeta: v1.ObjectMeta{
                Name: "serviceaccounts-cluster-admin",
            },
            RoleRef: v1beta1.RoleRef{
                APIGroup: "rbac.authorization.k8s.io",
                Kind:     "ClusterRole",
                Name:     "cluster-admin",
            },
            Subjects: []v1beta1.Subject{{
                Kind:     "Group",
                APIGroup: "rbac.authorization.k8s.io",
                Name:     "system:serviceaccounts",
            },
            },
        }
        b, err := json.MarshalIndent(clusterRoleBind, "", "  ")
        assert.Equal(t, nil, err)
        fmt.Println(string(b))
    }
    
    

    How it looks like

提交回复
热议问题