code: @Override
      public void sql(BindingSQLContext<JsonArray> ctx) {
          // Depending on how you generate your SQL, you may need to explicitly distinguish
          // between jOOQ generating bind variables or inlined literals. If so, use this check:
          // ctx.render().paramType() == INLINED
          RenderContext context = ctx.render().visit(DSL.val(ctx.convert(converter()).value()));
          if (SQLDialect.POSTGRES.equals(ctx.configuration().dialect().family()))
          {
              context.sql("::json");
          }
      }
docs: Rending a bind variable for the binding context's value and casting it to the json type