本文整理汇总了Golang中github.com/ghodss/yaml.JSONToYAML函数的典型用法代码示例。如果您正苦于以下问题:Golang JSONToYAML函数的具体用法?Golang JSONToYAML怎么用?Golang JSONToYAML使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了JSONToYAML函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: EncodeToStream
// EncodeToStream serializes the provided object to the given writer. Overrides is ignored.
func (s *Serializer) EncodeToStream(obj runtime.Object, w io.Writer, overrides ...unversioned.GroupVersion) error {
if s.yaml {
json, err := json.Marshal(obj)
if err != nil {
return err
}
data, err := yaml.JSONToYAML(json)
if err != nil {
return err
}
_, err = w.Write(data)
return err
}
if s.pretty {
data, err := json.MarshalIndent(obj, "", " ")
if err != nil {
return err
}
_, err = w.Write(data)
return err
}
encoder := json.NewEncoder(w)
return encoder.Encode(obj)
}
开发者ID:Clarifai,项目名称:kubernetes,代码行数:26,代码来源:json.go
示例2: JSONToYAMLOrDie
func JSONToYAMLOrDie(in []byte) []byte {
data, err := yaml.JSONToYAML(in)
if err != nil {
panic(err)
}
return data
}
开发者ID:hortonworks,项目名称:kubernetes-yarn,代码行数:7,代码来源:builder_test.go
示例3: testObjects
func testObjects(t *testing.T, list *api.List, fixtureFilename string) {
filename := filepath.Join("../../../../test/fixtures/bootstrappolicy", fixtureFilename)
expectedYAML, err := ioutil.ReadFile(filename)
if err != nil {
t.Fatal(err)
}
if err := runtime.EncodeList(api.Codecs.LegacyCodec(v1.SchemeGroupVersion), list.Items); err != nil {
t.Fatal(err)
}
jsonData, err := runtime.Encode(api.Codecs.LegacyCodec(v1.SchemeGroupVersion), list)
if err != nil {
t.Fatal(err)
}
yamlData, err := yaml.JSONToYAML(jsonData)
if err != nil {
t.Fatal(err)
}
if string(yamlData) != string(expectedYAML) {
fmt.Println("Bootstrap policy data does not match the test fixture in " + filename)
fmt.Println("If the change is expected, update the fixture with this bootstrap policy data:")
fmt.Println("-----------------------------------")
fmt.Println(string(yamlData))
fmt.Println("-----------------------------------")
t.Errorf("Diff between bootstrap data and fixture data in %s:\n-------------\n%s", filename, util.StringDiff(string(yamlData), string(expectedYAML)))
}
}
开发者ID:rrati,项目名称:origin,代码行数:28,代码来源:policy_test.go
示例4: jsonToYAML
func jsonToYAML(j []byte) []byte {
y, err := yaml.JSONToYAML(j)
if err != nil {
panic(fmt.Sprintf("json to yaml failed: %v", err))
}
return y
}
开发者ID:SivagnanamCiena,项目名称:calico-kubernetes,代码行数:7,代码来源:patch_test.go
示例5: jsonToYAML
func jsonToYAML(j []byte) ([]byte, error) {
y, err := yaml.JSONToYAML(j)
if err != nil {
return nil, fmt.Errorf("json to yaml failed: %v\n%v\n", err, j)
}
return y, nil
}
开发者ID:40a,项目名称:bootkube,代码行数:8,代码来源:patch_test.go
示例6: json2Yaml
func json2Yaml(json []byte) (s string) {
if y, err := yaml.JSONToYAML(json); err != nil {
s = err.Error()
} else {
s = string(y)
}
return
}
开发者ID:ujanssen,项目名称:learning-go-lang,代码行数:8,代码来源:json2yaml.go
示例7: Write
// Write serializes the config to yaml.
// Encapsulates serialization without assuming the destination is a file.
func Write(config clientcmdapi.Config) ([]byte, error) {
json, err := clientcmdlatest.Codec.Encode(&config)
if err != nil {
return nil, err
}
content, err := yaml.JSONToYAML(json)
if err != nil {
return nil, err
}
return content, nil
}
开发者ID:brorhie,项目名称:panamax-kubernetes-adapter-go,代码行数:13,代码来源:loader.go
示例8: JsonToYaml
func JsonToYaml(inputBytes []byte) []byte {
buffer, err := yaml.JSONToYAML(inputBytes)
if err != nil {
fmt.Println("JSON -> YAML convert error.")
fmt.Printf("err: %v\n", err)
os.Exit(1)
}
return buffer
}
开发者ID:y13i,项目名称:j2y,代码行数:11,代码来源:json_to_yaml.go
示例9: writeYAML
func writeYAML(obj runtime.Object) ([]byte, error) {
json, err := Codec.Encode(obj)
if err != nil {
return nil, err
}
content, err := yaml.JSONToYAML(json)
if err != nil {
return nil, err
}
return content, err
}
开发者ID:Vitogee,项目名称:origin,代码行数:12,代码来源:types_test.go
示例10: ExampleMergingSomeWithConflict
func ExampleMergingSomeWithConflict() {
commandLineFile, _ := ioutil.TempFile("", "")
defer os.Remove(commandLineFile.Name())
envVarFile, _ := ioutil.TempFile("", "")
defer os.Remove(envVarFile.Name())
WriteToFile(testConfigAlfa, commandLineFile.Name())
WriteToFile(testConfigConflictAlfa, envVarFile.Name())
loadingRules := ClientConfigLoadingRules{
CommandLinePath: commandLineFile.Name(),
EnvVarPath: envVarFile.Name(),
}
mergedConfig, err := loadingRules.Load()
json, err := clientcmdlatest.Codec.Encode(mergedConfig)
if err != nil {
fmt.Printf("Unexpected error: %v", err)
}
output, err := yaml.JSONToYAML(json)
if err != nil {
fmt.Printf("Unexpected error: %v", err)
}
fmt.Printf("%v", string(output))
// Output:
// apiVersion: v1
// clusters:
// - cluster:
// server: http://cow.org:8080
// name: cow-cluster
// - cluster:
// insecure-skip-tls-verify: true
// server: http://donkey.org:8080
// name: donkey-cluster
// contexts:
// - context:
// cluster: cow-cluster
// namespace: hammer-ns
// user: red-user
// name: federal-context
// current-context: federal-context
// kind: Config
// preferences: {}
// users:
// - name: red-user
// user:
// token: red-token
// - name: yellow-user
// user:
// token: yellow-token
}
开发者ID:brorhie,项目名称:panamax-kubernetes-adapter-go,代码行数:53,代码来源:loader_test.go
示例11: writeYAML
// writeYAML writes the specified object to a byte array as yaml.
func writeYAML(obj runtime.Object) ([]byte, error) {
json, err := runtime.Encode(api.Codecs.LegacyCodec(), obj)
if err != nil {
return nil, err
}
content, err := yaml.JSONToYAML(json)
if err != nil {
return nil, err
}
return content, err
}
开发者ID:kubernetes,项目名称:kubernetes,代码行数:13,代码来源:config.go
示例12: writeYAML
func writeYAML(obj runtime.Object) ([]byte, error) {
json, err := runtime.Encode(serializer.NewCodecFactory(internal.Scheme).LegacyCodec(v1.SchemeGroupVersion), obj)
if err != nil {
return nil, err
}
content, err := yaml.JSONToYAML(json)
if err != nil {
return nil, err
}
return content, err
}
开发者ID:richm,项目名称:origin,代码行数:13,代码来源:types_test.go
示例13: CmdShow
// CmdShow implements the 'show' command
func CmdShow(c *cli.Context) {
utils.CheckRequiredFlags(c, []string{"kubeware"})
kubeware := os.Getenv("KDEPLOY_KUBEWARE")
localKubePath, err := fetchers.Fetch(kubeware)
if err != nil {
log.Fatal(fmt.Errorf("Could not fetch kubeware: '%s' (%v)", kubeware, err))
}
log.Debugf("Going to parse kubeware in %s", localKubePath)
metadata := template.ParseMetadata(localKubePath)
defaults, err := metadata.AttributeDefaults()
utils.CheckError(err)
log.Debugf("Building attributes")
attributes := template.BuildAttributes(os.Getenv("KDEPLOY_ATTRIBUTE"), defaults)
log.Debugf("Parsing services")
servicesSpecs, err := metadata.ParseServices(attributes)
utils.CheckError(err)
log.Debugf("Parsing controllers")
controllersSpecs, err := metadata.ParseControllers(attributes)
utils.CheckError(err)
// print resolved resources
for _, s := range servicesSpecs {
y, err := gyml.JSONToYAML([]byte(s))
utils.CheckError(err)
fmt.Println(string(y))
}
for _, c := range controllersSpecs {
y, err := gyml.JSONToYAML([]byte(c))
utils.CheckError(err)
fmt.Println(string(y))
}
}
开发者ID:flexiant,项目名称:kdeploy,代码行数:39,代码来源:show.go
示例14: main
//go:generate goversion -major=1 -minor=0 -patch=0
func main() {
bytes, err := ioutil.ReadAll(os.Stdin)
if err != nil {
log.Panicln(err)
}
json, err := yaml.JSONToYAML(bytes)
if err != nil {
log.Panicln(err)
}
print(string(json))
}
开发者ID:dearing,项目名称:tools,代码行数:15,代码来源:main.go
示例15: Example_noMergingOnExplicitPaths
func Example_noMergingOnExplicitPaths() {
commandLineFile, _ := ioutil.TempFile("", "")
defer os.Remove(commandLineFile.Name())
envVarFile, _ := ioutil.TempFile("", "")
defer os.Remove(envVarFile.Name())
WriteToFile(testConfigAlfa, commandLineFile.Name())
WriteToFile(testConfigConflictAlfa, envVarFile.Name())
loadingRules := ClientConfigLoadingRules{
ExplicitPath: commandLineFile.Name(),
Precedence: []string{envVarFile.Name()},
}
mergedConfig, err := loadingRules.Load()
json, err := runtime.Encode(clientcmdlatest.Codec, mergedConfig)
if err != nil {
fmt.Printf("Unexpected error: %v", err)
}
output, err := yaml.JSONToYAML(json)
if err != nil {
fmt.Printf("Unexpected error: %v", err)
}
fmt.Printf("%v", string(output))
// Output:
// apiVersion: v1
// clusters:
// - cluster:
// server: http://cow.org:8080
// name: cow-cluster
// contexts:
// - context:
// cluster: cow-cluster
// namespace: hammer-ns
// user: red-user
// name: federal-context
// current-context: ""
// kind: Config
// preferences: {}
// users:
// - name: red-user
// user:
// token: red-token
}
开发者ID:ttysteale,项目名称:kubernetes-api,代码行数:46,代码来源:loader_test.go
示例16: testObjects
func testObjects(t *testing.T, list *api.List, fixtureFilename string) {
filename := filepath.Join("testdata", fixtureFilename)
expectedYAML, err := ioutil.ReadFile(filename)
if err != nil {
t.Fatal(err)
}
if err := runtime.EncodeList(api.Codecs.LegacyCodec(v1.SchemeGroupVersion, rbacv1alpha1.SchemeGroupVersion), list.Items); err != nil {
t.Fatal(err)
}
jsonData, err := runtime.Encode(api.Codecs.LegacyCodec(v1.SchemeGroupVersion, rbacv1alpha1.SchemeGroupVersion), list)
if err != nil {
t.Fatal(err)
}
yamlData, err := yaml.JSONToYAML(jsonData)
if err != nil {
t.Fatal(err)
}
if string(yamlData) != string(expectedYAML) {
t.Errorf("Bootstrap policy data does not match the test fixture in %s", filename)
const updateEnvVar = "UPDATE_BOOTSTRAP_POLICY_FIXTURE_DATA"
if os.Getenv(updateEnvVar) == "true" {
if err := ioutil.WriteFile(filename, []byte(yamlData), os.FileMode(0755)); err == nil {
t.Logf("Updated data in %s", filename)
t.Logf("Verify the diff, commit changes, and rerun the tests")
} else {
t.Logf("Could not update data in %s: %v", filename, err)
}
} else {
t.Logf("Diff between bootstrap data and fixture data in %s:\n-------------\n%s", filename, diff.StringDiff(string(yamlData), string(expectedYAML)))
t.Logf("If the change is expected, re-run with %s=true to update the fixtures", updateEnvVar)
}
}
}
开发者ID:alex-mohr,项目名称:kubernetes,代码行数:36,代码来源:policy_test.go
示例17: ExampleMergingEverythingNoConflicts
func ExampleMergingEverythingNoConflicts() {
commandLineFile, _ := ioutil.TempFile("", "")
defer os.Remove(commandLineFile.Name())
envVarFile, _ := ioutil.TempFile("", "")
defer os.Remove(envVarFile.Name())
currentDirFile, _ := ioutil.TempFile("", "")
defer os.Remove(currentDirFile.Name())
homeDirFile, _ := ioutil.TempFile("", "")
defer os.Remove(homeDirFile.Name())
WriteToFile(testConfigAlfa, commandLineFile.Name())
WriteToFile(testConfigBravo, envVarFile.Name())
WriteToFile(testConfigCharlie, currentDirFile.Name())
WriteToFile(testConfigDelta, homeDirFile.Name())
loadingRules := ClientConfigLoadingRules{
CommandLinePath: commandLineFile.Name(),
EnvVarPath: envVarFile.Name(),
CurrentDirectoryPath: currentDirFile.Name(),
HomeDirectoryPath: homeDirFile.Name(),
}
mergedConfig, err := loadingRules.Load()
json, err := clientcmdlatest.Codec.Encode(mergedConfig)
if err != nil {
fmt.Printf("Unexpected error: %v", err)
}
output, err := yaml.JSONToYAML(json)
if err != nil {
fmt.Printf("Unexpected error: %v", err)
}
fmt.Printf("%v", string(output))
// Output:
// apiVersion: v1
// clusters:
// - cluster:
// server: http://chicken.org:8080
// name: chicken-cluster
// - cluster:
// server: http://cow.org:8080
// name: cow-cluster
// - cluster:
// server: http://horse.org:8080
// name: horse-cluster
// - cluster:
// server: http://pig.org:8080
// name: pig-cluster
// contexts:
// - context:
// cluster: cow-cluster
// namespace: hammer-ns
// user: red-user
// name: federal-context
// - context:
// cluster: chicken-cluster
// namespace: plane-ns
// user: blue-user
// name: gothic-context
// - context:
// cluster: pig-cluster
// namespace: saw-ns
// user: black-user
// name: queen-anne-context
// - context:
// cluster: horse-cluster
// namespace: chisel-ns
// user: green-user
// name: shaker-context
// current-context: ""
// kind: Config
// preferences: {}
// users:
// - name: black-user
// user:
// token: black-token
// - name: blue-user
// user:
// token: blue-token
// - name: green-user
// user:
// token: green-token
// - name: red-user
// user:
// token: red-token
}
开发者ID:brorhie,项目名称:panamax-kubernetes-adapter-go,代码行数:87,代码来源:loader_test.go
示例18: Save
func (s *Server) Save(request *shared.SaveRequest, response *shared.SaveResponse) error {
if !s.auth.Auth([]byte(request.Path), request.Hash) {
return kerr.New("GIONMMGOWA", "Auth failed")
}
pkg, err := pkghelp.Scan(s.ctx, request.Path)
if err != nil {
return kerr.Wrap("YKYVDSDGNV", err)
}
localContext := envctx.NewContext(s.ctx, pkg.Env)
for _, info := range request.Files {
// Check we only have yml, yaml or json extension.
ext := filepath.Ext(info.File)
if ext != ".json" && ext != ".yml" && ext != ".yaml" {
return kerr.New("NDTPTCDOET", "Unsupported extension %s in %s", ext, info.File)
}
// Check the bytes are well formed json...
o := &system.ObjectStub{}
if err := system.Unmarshal(localContext, info.Bytes, o); err != nil {
return kerr.Wrap("QISVPOXTCJ", err)
}
// Check type field exists
if o.Type == nil {
return kerr.New("PHINYFTGEC", "%s has no type", info.File)
}
// Check id field exists apart from system:package type.
if o.Id == nil && *o.Type != *system.NewReference("kego.io/system", "package") {
return kerr.New("NNOEQPRQXS", "%s has no id", info.File)
}
// Convert output to YAML if needed.
output := info.Bytes
if ext == ".yaml" || ext == ".yml" {
var err error
if output, err = yaml.JSONToYAML(output); err != nil {
return kerr.Wrap("EAMEWSCAGB", err)
}
}
var mode os.FileMode
var full string
file := pkg.File(info.File)
if file != nil {
// The file already exists, so we should use the existing filemode
full = file.AbsoluteFilepath
fs, err := os.Stat(full)
if err != nil {
return kerr.Wrap("VLIJSSVSXU", err)
}
mode = fs.Mode()
} else {
if full, err = pkghelp.Check(pkg.Env.Dir, info.File, pkg.Env.Recursive); err != nil {
return kerr.Wrap("YSQEHPFIVF", err)
}
mode = 0644
if _, err := os.Stat(full); err == nil || !os.IsNotExist(err) {
return kerr.New("XOEPAUNCXB", "Can't overwrite %s - existing file is not a valid ke data file", info.File)
}
}
if err := ioutil.WriteFile(full, output, mode); err != nil {
return kerr.Wrap("KPDYGCYOYQ", err)
}
response.Files = append(response.Files, shared.SaveResponseFile{
File: info.File,
Hash: info.Hash,
})
}
return nil
}
开发者ID:kego,项目名称:ke,代码行数:72,代码来源:calls.go
示例19: yamlFormatter
func yamlFormatter(data []byte) {
out, err := yaml.JSONToYAML(data)
Check(err)
fmt.Print(string(out))
}
开发者ID:Alkorin,项目名称:sail,代码行数:5,代码来源:format.go
示例20: main
func main() {
runtime.GOMAXPROCS(runtime.NumCPU())
flag.CommandLine.SetNormalizeFunc(util.WordSepNormalizeFunc)
flag.Parse()
if *rewrite != "" {
*inputSource = *rewrite
*outputDest = *rewrite
}
var in io.Reader
if *inputSource == "-" {
in = os.Stdin
} else {
f, err := os.Open(*inputSource)
if err != nil {
log.Fatalf("Couldn't open %q: %q", *inputSource, err)
}
defer f.Close()
in = f
}
data, err := ioutil.ReadAll(in)
if err != nil {
log.Fatalf("Couldn't read from input: %q", err)
}
isYAML := isYAML(data)
if isYAML {
data, err = yaml.YAMLToJSON(data)
if err != nil {
log.Fatalf("Failed to convert YAML to JSON: %q", err)
}
}
obj, err := api.Scheme.Decode(data)
if err != nil {
log.Fatalf("Couldn't decode input: %q", err)
}
outData, err := api.Scheme.EncodeToVersion(obj, *outputVersion)
if err != nil {
log.Fatalf("Failed to encode to version %q: %q", *outputVersion, err)
}
if isYAML {
outData, err = yaml.JSONToYAML(outData)
if err != nil {
log.Fatalf("Failed to convert to YAML: %q", err)
}
} else if true {
// TODO: figure out if input JSON was pretty.
var buf bytes.Buffer
err = json.Indent(&buf, outData, "", " ")
if err != nil {
log.Fatalf("Failed to indent JSON: %q", err)
}
outData = buf.Bytes()
}
var out io.Writer
if *outputDest == "-" {
out = os.Stdout
} else {
f, err := os.Create(*outputDest)
if err != nil {
log.Fatalf("Couldn't open %q: %q", *outputDest, err)
}
defer f.Close()
out = f
}
if _, err = out.Write(outData); err != nil {
log.Fatalf("Failed to write: %q", err)
}
}
开发者ID:qingyuancloud,项目名称:qingyuan,代码行数:75,代码来源:version.go
注:本文中的github.com/ghodss/yaml.JSONToYAML函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论