JsonDeserializer
으로 가능합니다.
는 만들기
public class Response {
@Getter
private List<Person> people = new ArrayList<>();
}
및
public class Person {
@Getter @Setter
private String first_name, last_name;
}
같은 POJO에있을 것입니다 가정 JsonDeserializer
public class PersonResponseDeserializer implements JsonDeserializer<Response> {
// Create a new gson to make the default parsing for response object
private final Gson gson = new Gson();
@Override
public Response deserialize(JsonElement json, Type typeOfT
, JsonDeserializationContext context) throws JsonParseException {
Response r = gson.fromJson(json, typeOfT);
// Remove all persons from R that have last name null
r.getPeople().removeAll(
r.getPeople().stream().filter(p -> p.getLast_name() == null)
.collect(Collectors.toSet())
);
return r;
}
}
다음
처럼 사용할 수
같은 10
구문 분석 할 때 수행해야하는 경우입니다. 어쩌면 구문 분석 후 People
을 반복하고 성이없는 Person
을 제외하는 것이 좋습니다.
좋은 대답입니다. 여기에 가깝도록하겠습니다. 이 시점에서 파싱 한 후 데이터를 정리할 것입니다. – airowe