@UnstableApi
    static <T> FutureResponseAs<ResponseEntity<T>> json(Class<? extends T> clazz, ObjectMapper mapper) {
        requireNonNull(clazz, "clazz");
        requireNonNull(mapper, "mapper");
        return aggregateAndConvert(AggregatedResponseAs.json(clazz, mapper, ResponseAsUtil.SUCCESS_PREDICATE));
    }
Aggregates an {@link HttpResponse} and deserializes the JSON {@link AggregatedHttpResponse#content()}
into the specified non-container type using the specified {@link ObjectMapper}.
An {@link InvalidHttpResponseException} is raised if the status of the response is not
{@link HttpStatusClass#SUCCESS}. Use {@link #json(Class, Predicate)} if you want to deserialize
the content differently depending on the {@link AggregatedHttpResponse}.

<p>Note that this method should NOT be used if the result type is a container such as {@link Collection}
or {@link Map}. Use {@link #json(TypeReference, ObjectMapper)} for the container type.
core/src/main/java/com/linecorp/armeria/client/ResponseAs.java