1

i want to convert a json

{"test": "1,2,3,4"}

into yaml of the form:

---
test:
  - 1
  - 2
  - 3
  - 4

for this i tried to use the following groovy snippet:

def json = new groovy.json.JsonSlurper().parseText('{"test": "1,2,3,4"}')
println json
def ymlMap = json.collectEntries { k, v -> [k , v.split(', ')] }
def yml = new groovy.yaml.YamlBuilder()
yml ymlMap
println yml.toString()

but it prints

---
test:
- "1,2,3,4"

Any hints how to use yamlbuilder correct?

1 Answers1

0

haha, your split-regex contains one space too much:

json.collectEntries { k, v -> [k , v.split(',')] }

Then it prints:

---
test:
- "1"
- "2"
- "3"
- "4"

With that space in place, the value is not split and output as-is.

injecteer
  • 20,038
  • 4
  • 45
  • 89