Добавьте новую пару ключ-значение под карту, используя groovy
{
"map": {
"key1": [3,12,13,11],
"key2": [21,23],
"key3": [31,32,33]
}}
У меня есть этот JSON. аналогично key1 или key2 я хочу добавить новую пару ключей в этот json с помощью groovy. Я использую 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?
}
1 ответ
list[templateKey] = [<some value>]
Даггетт это один из способов, но вы также можете использовать один вкладыш, чтобы сделать трюк.
def list= mJsonObject.map;
list.computeIfAbsent(templateKey, { [] }).add(templateValue)
Он использует функцию для предоставления значения карты по умолчанию.