如何在groovy中将新的json字段添加到现有的json中

时间:2015-10-07 09:20:06

标签: json groovy

我现有的Json看起来像:

def json_req = "{\"date\":\"Tue, 06 Oct 2015 09:10:52 GMT\",\"nonce\":\"6cm7PmwDOKs\",\"devId\":\"<value>\",\"appId\":\"<value>\"}

执行操作我可以获得sig字段的值。我需要使用以下值附加此附加字段:

"sig":"<value>"

所以新的json看起来像:

def json_req = "{\"date\":\"Tue, 06 Oct 2015 09:10:52 GMT\",\"nonce\":\"6cm7PmwDOKs\",\"devId\":\"<value>\",\"appId\":\"<value>\",\"sig\":\"<value>\"}"

在同一个脚本中,我可以使用json中的值附加这个新参数吗?

1 个答案:

答案 0 :(得分:11)

您可以使用JsonSlurper解析json,并且由于结果是LazyMap,您只需向其中添加新条目(添加println的行作为提示) :

import groovy.json.*

def json_req = '''{
"date":"Tue, 06 Oct 2015 09:10:52 GMT", 
"nonce":"6cm7PmwDOKs",
"devId":"<value>",
"appId": "<value>"
}'''

def json = new JsonSlurper().parseText(json_req)
println json.getClass().getName()
json << [sig: "<value>"] // json.put('sig', '<value>')
println JsonOutput.toJson(json)

groovy web console

上试试