2015-10-07 2 views
3

Мой существующий Json выглядит следующим образом:Как добавить новое поле JSon к существующему в 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?

ответ

6

Вы можете разобрать JSON с JsonSlurper, и поскольку результатом этого является 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

+0

Здесь значение значения сигма генерируется динамически, и я назначаю это значение переменной оттуда, как я могу включить в json – Hanumanth

+0

Просто используйте переменную вместо «значения». – jalopaba

Смежные вопросы