Hi i am bit new and need help to parse a hash, for example data:
in current example,i want to loop through all keys TEST-A,TEST-B,TEST-C
and change their value (app-id), for now using jsonslurper i can parse and edit value per key like this:
parsed.'TEST-A'[0].app_id = a
but what i want is to read keys and assign values (these value i will be reading as String)
import groovy.json.*
data = '''
{
"TEST-A": [{ "app_id":"aaa" }],
"TEST-B": [{ "app_id":"bbb" }],
"TEST-C": [{ "app_id":"ccc" }]
}'''
def parsed = new JsonSlurper().parseText(data)
String a= 'test';
parsed.'TEST-A'[0].app_id = a
def result = JsonOutput.toJson(parsed)
println "result: $result"
import groovy.json.*
data = '''
{
"TEST-A": [{ "app_id":"aaa" }],
"TEST-B": [{ "app_id":"bbb" }],
"TEST-C": [{ "app_id":"ccc" }]
}'''
def parsed = new JsonSlurper().parseText(data)
def a = 665
parsed.each{k,v->
if(k in ['TEST-A','TEST-B','TEST-C']) v[0].app_id = a
}
println new JsonBuilder(parsed).toPrettyString()
output:
{
"TEST-A": [
{
"app_id": 665
}
],
"TEST-B": [
{
"app_id": 665
}
],
"TEST-C": [
{
"app_id": 665
}
]
}