Если вы можете использовать библиотеку JsonPath .Пример использования:
import com.jayway.jsonpath.JsonPath;
import java.net.URL;
import java.util.List;
public class JsonPathApp {
public static void main(String[] args) throws Exception {
URL url = new URL("https://gcc.azure-api.net/traffic/v1/movement/now");
List<Integer> flows = JsonPath.parse(url).read("$[*].flow");
System.out.println(flows);
}
}
Над кодом напечатаны:
[13,35,0,18,4,9,11,0,18,18,0,0,0,13,14,0,5,4,4,9,22,18,22,4,0,22,0,45,13,9,31,28,4,2,9,0,0,0,9,9,13,10,14,9,0,13,18,31,33,0]
Но если вам действительно нужно использовать JSONArray
, вы можете сделать это, как показано ниже:
List<Integer> flows = new ArrayList<>();
JSONArray objects = JSONArray.fromObject(json);
objects.iterator().forEachRemaining(o -> flows.add(((JSONObject) o).getInt("flow")));
System.out.println(flows)
Где json
параметр String
.JSON*
классы приходят из net.sf.json.*
пакета.