Simple and effective way i will tell you using json.org and jackson-mapper-asl first create a class suppose its name is Person
public class Person {
    private int id;
    private String name;
    private String location;
    //getters and setters
    @Override
    public String toString() {
        return "Person{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", location='" + location + '\'' +
                '}';
    }
}
create another class suppose mainclass
public static void main(String[] args) throws IOException, JSONException {
    String jsonString ="[{\"id\":1,\"name\":\"xxx\",\"location\":\"xx\"},
                                 {\"id\":2,\"name\":\"yyy\",\"location\":\"yy\"},
                                 {\"id\":3,\"name\":\"zzz\",\"location\":\"zz\"}]";
    ObjectMapper mapper = new ObjectMapper();
    JSONArray jsonArray = new JSONArray(jsonString);
    List<Person> listFromJsonArray = new ArrayList<Person>();
    for(int i =0 ;i<jsonArray.length();i++){
        String firstObjectAsString = jsonArray.get(i).toString();
        Person person = mapper.readValue(mapper.readTree(firstObjectAsString), 
                                                                   Person.class);
        listFromJsonArray.add(person);
    }
    System.out.println(listFromJsonArray);
}
Now using the list get the individual Person objects get the individual values using getters and do whatever you want