我现有的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中的值附加这个新参数吗?
答案 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)
上试试