Write json files in sink

This commit is contained in:
Phani Teja Marupaka
2020-06-01 16:59:50 -07:00
parent a158eeaaff
commit dc4bf03da2
7 changed files with 82 additions and 31 deletions

View File

@@ -735,7 +735,7 @@ func ConvertJSONToYamlNode(jsonStr string) (*RNode, error) {
return node, nil
}
// ConvertJSONToYamlNode parses input json string and returns equivalent yaml string
// ConvertJSONToYamlString parses input json string and returns equivalent yaml string
func ConvertJSONToYamlString(jsonStr string) (string, error) {
var body map[string]interface{}
err := json.Unmarshal([]byte(jsonStr), &body)
@@ -749,6 +749,20 @@ func ConvertJSONToYamlString(jsonStr string) (string, error) {
return string(yml), nil
}
// ConvertYamlNodeToJSONString returns json string from input yaml RNode
func ConvertYamlNodeToJSONString(node *RNode) (string, error) {
nodeStr, err := node.String()
if err != nil {
return "", err
}
var body interface{}
if err := yaml.Unmarshal([]byte(nodeStr), &body); err != nil {
return "", err
}
res, err := json.Marshal(body)
return string(res), err
}
// checkKey returns true if all elems have the key
func checkKey(key string, elems []*Node) bool {
count := 0