JsonSlurper 将包含 Json 的字符串解析为意外格式

JsonSlurper parsing String containing Json into unexpected format

我从一个单独的系统中得到一个字符串参数 "messageJson",其内容的形式为:

{"agent1":"smith","agent2":"brown","agent3":{"agent3_1":"jones","agent3_2":"johnson"}}

为了在我的程序中使用它,我用 JsonSlurper 解析它。

def myJson = new JsonSlurper().parseText(messageJson)

但结果 Json 的形式为:

[agent1:smith, agent2:brown, agent3:[agent3_1:jones, agent3_2:johnson]]

注意方括号和缺少双引号。如何解析消息Json 以保留原始结构?

好的,多亏了cfrick的提示,我才找到了解决办法。如果其他人有类似的问题,我需要做的就是最后使用 JsonOutput 将地图转换回 Json

即:

def myJson = new JsonSlurper().parseText(messageJson)
myJson << [agent4:"jane"]
def backToJson = JsonOutput.toJson(myJson)