Как удалить список из массива списков на основе условия с помощью groovy? - PullRequest
1 голос
/ 17 октября 2019

Я новичок в groovy и мне нужна помощь в удалении всего списка, если он не соответствует критериям. Вот JSON -

{
  "School" : New Elementary School,
  "District" : "District1",
  "City" : "NewTown",
     "Students" : [ {
     "Name": "Student1",
     "Grade": "1"    
    }, {
     "Name": "Student2",
     "Grade": "2"
    }, {
     "Name": "Student3",
     "Grade": "1"  
    }, {
     "Name": "Student4",
     "Grade": "1"  
    }, {
     "Name": "Student5",
     "Grade": "1"   
    } ],
}

Я хочу JSON, в котором будут учиться только ученики 1-го класса, т.е. удалить Student2. Вывод должен быть -

{
  "School" : New Elementary School,
  "District" : "District1",
  "City" : "NewTown",
     "Students" : [ {
     "Name": "Student1",
     "Grade": "1"    
    },  {
     "Name": "Student3",
     "Grade": "1"  
    }, {
     "Name": "Student4",
     "Grade": "1"  
    }, {
     "Name": "Student5",
     "Grade": "1"   
    } ],
}

У меня есть цикл на месте, а также условие. Я посмотрел в Интернете, чтобы удалить весь список, но, похоже, ничего не нашел.

1 Ответ

0 голосов
/ 21 октября 2019

Вы можете использовать функцию removeAll для этого. Пример

List a = [[a:1],[a:2],[a:1]]
a.removeAll{ it.a==2 }
print(a)
[[a:1], [a:1]]

В вашем случае

students = students.removeAll{ it.Grade == "2" }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...