github.com/grafana/pyroscope@v1.18.0/tools/yaml-to-json/main.go (about) 1 package main 2 3 import ( 4 "encoding/json" 5 "io" 6 "log" 7 "os" 8 9 "sigs.k8s.io/yaml" 10 ) 11 12 func main() { 13 if err := run(); err != nil { 14 log.Fatal(err) 15 } 16 } 17 18 func run() error { 19 yamlBody, err := io.ReadAll(os.Stdin) 20 if err != nil { 21 return err 22 } 23 24 jsonBody, err := yaml.YAMLToJSON(yamlBody) 25 if err != nil { 26 return err 27 } 28 29 var jsonStruct interface{} 30 if err := json.Unmarshal(jsonBody, &jsonStruct); err != nil { 31 return err 32 } 33 jsonBody, err = json.MarshalIndent(&jsonStruct, "", " ") 34 if err != nil { 35 return err 36 } 37 38 _, err = os.Stdout.Write(jsonBody) 39 return err 40 }