{
"map": {
"key1": [3,12,13,11],
"key2": [21,23],
"key3": [31,32,33]
}}
我有这个JSON。类似于key1或key2,我想使用groovy向此json添加新的密钥对。我正在使用JsonSlurper()。
def mJson = new File(MAPPINGJSON).text;
def mJsonObject = parser.parseText(mJson);
def list= mJsonObject.map;
def keyFound= false;
for (item in list)
{
if (item.key == templateKey)
{
def values = item.value;
values.add(<some value>);
item.value= values;
keyFound = true;
break;
}
keyFound = false;
}
if(!keyFound)
{
println "Key not found";
// How to add new key pair?
}
答案 0 :(得分:0)
list[templateKey] = [<some value>]
是一种方法,但您也可以使用一个衬纸来完成这项工作。
def list= mJsonObject.map;
list.computeIfAbsent(templateKey, { [] }).add(templateValue)
它使用一个函数来提供地图的默认值。