private static boolean getFieldAsBoolean()

in zetasql-toolkit-core/src/main/java/com/google/zetasql/toolkit/catalog/io/JsonCatalogDeserializer.java [160:178]


  private static boolean getFieldAsBoolean(
      JsonObject jsonObject, String fieldName, String errorMessage) {
    JsonElement field = jsonObject.get(fieldName);

    if (Objects.isNull(field) || !field.isJsonPrimitive()) {
      throw new JsonParseException(errorMessage);
    }

    JsonPrimitive primitive = field.getAsJsonPrimitive();
    boolean isTrueOrFalseString =
        primitive.isString()
            && ImmutableList.of("true", "false").contains(primitive.getAsString().toLowerCase());

    if (!primitive.isBoolean() && !isTrueOrFalseString) {
      throw new JsonParseException(errorMessage);
    }

    return primitive.getAsBoolean();
  }