code: public String getJSON() {
          if (this.jsonObject != null) {
              return this.jsonObject.toString();
          } else {
              InputStreamReader reader = new InputStreamReader(this.getBody(), StandardCharsets.UTF_8);
              StringBuilder builder = new StringBuilder();
              char[] buffer = new char[BUFFER_SIZE];
  
              try {
                  int read = reader.read(buffer, 0, BUFFER_SIZE);
                  while (read != -1) {
                      builder.append(buffer, 0, read);
                      read = reader.read(buffer, 0, BUFFER_SIZE);
                  }
  
                  this.disconnect();
                  reader.close();
              } catch (IOException e) {
                  throw new BoxAPIException("Couldn't connect to the Box API due to a network error.", e);
              }
              this.jsonObject = JsonObject.readFrom(builder.toString());
              return builder.toString();
          }
      }
docs: Gets the body of the response as a JSON string. When this method is called, the response's body will be read and
  the response will be disconnected, meaning that the stream returned by {@link #getBody} can no longer be used.
  @return the body of the response as a JSON string.