public SimpleTable deserialize()

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


    public SimpleTable deserialize(
        JsonElement jsonElement, java.lang.reflect.Type type, JsonDeserializationContext context)
        throws JsonParseException {
      JsonObject jsonObject =
          getAsJsonObject(
              jsonElement, "Invalid JSON table: " + jsonElement + ". Tables should be objects.");

      String tableName =
          getFieldAsString(
              jsonObject,
              "name",
              "Invalid JSON table: " + jsonElement + ". Field name should be string.");

      JsonArray columns =
          getFieldAsJsonArray(
              jsonObject,
              "columns",
              "Invalid JSON table: " + jsonElement + ". Field columns should be array of columns.");

      List<SimpleColumn> parsedColumns =
          columns.asList().stream()
              .map(
                  jsonColumn ->
                      getAsJsonObject(
                          jsonColumn,
                          "Invalid JSON column " + jsonColumn + ". Should be JSON object."))
              .map(jsonColumn -> deserializeSimpleColumn(tableName, jsonColumn))
              .collect(Collectors.toList());

      return new SimpleTable(tableName, parsedColumns);
    }