Как мне отфильтровать список на основе значений JSONArray
?
JSONArray
имеет элементы в простой структуре json с ключом и значениями.
JSONArray
из пакета org.json
и использует эту зависимость
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>
Строковый ответ, который я получаю при достижении конечной точки, анализируется таким образом
String response = [{"ID": 1,"updatedAt": "2019-04-12T09:09:48"},{"ID": 2,"updatedAt": "2019-04-12T09:09:48"}
JSONArray jsonArray = new JSONArray(response)
Список, который я хочу отфильтровать, состоит из списка строк json List<String> eventDataSetList
Теперь, как я могу отфильтровать список, используя значение ключа ID
из jsonArray
лучше, чем этот?
Вот что я сделал до сих пор, но я действительно не хочу использовать вложенный цикл:
Map<Object, String> filteredEvents = new HashMap<>();
for (String event : eventDataSetList) {
for (Object obj : jsonArray) {
JSONObject jsonObject = (JSONObject) obj;
if (event.contains(jsonObject.getString("ID"))) {
filteredEvents.put(jsonObject, event);
}
}
}