I am having problems properly formatting Json output to requirements.
I have three fields, similar to this:
fieldA has value {"lname":"Smith", "fname":"John"}
fieldB has value {"age":"21", "gender":"M"}
fields has value 12345
I put each into an empty Groovy map, result[:] .
I'm required to generate Json output like this:
{
"fieldA": {"lname":"Smith", "fname":"John"},
"fieldB": {"age":"21", "gender":"M"},
"fieldC":"12345"
}
but am instead getting output with double quotes around the { } for fields
A and B, like this:
{
"fieldA": "{"lname":"Smith", "fname":"John"}",
"fieldB": "{"age":"21", "gender":"M"}",
"fieldC":"12345"
}
Is there a way I can suppress the surrounding of the values in the map when
I create the json?
Currently this is how I process my map to json:
def JsonStr = JsonOutput.prettyPrint(JsonOutput.toJson(result))
which I then write to my outputStream like this:
outputStream.write(JsonStr.getBytes(StandardCharsets.UTF_8))
Thanks in advance for any help.