You need to use a supertype token for the unmarshalling, so that Gson knows what the generic type in your list is. Try this:
TypeToken> token = new TypeToken>(){};
List personList = gson.fromJson(response, token.getType());
And iterate through the results as such:
for(Person person : personList) {
// some code here
}