@NonNull
    public static <T> Single<T> postJsonRequest(final String uri, final Class<T> clazz, final Object jsonObject) throws JsonProcessingException {
        final Builder request = new Builder().url(uri).post(RequestBody.create(MEDIA_TYPE_APPLICATION_JSON,
                mapper.writeValueAsString(jsonObject)));
        final Single<Response> response = RxOkHttpUtils.request(OK_HTTP_CLIENT, request.build());

        return response.flatMap(getResponseData).map(js -> mapper.readValue(js, clazz));
    }
POST HTTP request with Json POST DATA

@param uri        the URI to request
@param headers    http headers
@param jsonObject the object to be serialized as json and added to the POST request
@return a single with the HTTP response, or an IOException
main/src/main/java/cgeo/geocaching/network/Network.java