Unlike jsonb, the regular json type is pretty much just a pre-validated text. You could
alter table your_table
alter column connectionpoints type text using (connectionpoints::text)
--,add constraint is_valid_json check (connectionpoints is json)--pg16+
--,add constraint is_valid_json check (pg_input_is_valid(connectionpoints,'json'))--pg16+
,add constraint is_valid_json check (connectionpoints::json#>>'{}' is not null);
To kind of have the cookie and eat it too: it makes that column a regular, QGIS-editable text, while still making sure it's a valid json. Demo at db<>fiddle

Problem is, that requires explicit type casts to work with some functions and operators, so you'd probably have to add a generated column so that you don't break some other parts of your system that rely on that column being an actual json:
alter table your_table
alter column connectionpoints type text using (connectionpoints::text)
--,add constraint is_valid_json check (connectionpoints is json)--pg16+
--,add constraint is_valid_json check (pg_input_is_valid(connectionpoints,'json'))--pg16+
,add constraint is_valid_json check (connectionpoints::json#>>'{}' is not null)
,add column connectionpoints_j json generated always as (connectionpoints::json) stored;

Which is pretty wasteful, but technically it does let you indirectly edit the json column in QGIS: you edit the text, and that automatically pops up in the json that's generated based on it. Note that the generated column is read-only, so it'd might end up being useless if those other parts of the system required it to be not just a json, but a directly editable json.
You could also hide that table behind a view that casts the text value to ::json, but that would only help for reads. Whoever interacted with the table by inserting/updating, won't be able to do that through the view as connectionpoints wouldn't qualify as updatable.
ERROR: cannot insert into column "connectionpoints" of view "your_table"
DETAIL: View columns that are not columns of their base relation are not updatable.
geometry/geographytype implementation for PostgreSQL. So the Question is about QGIS-PG access without corrupting other fields, for which a view or stored procedure would be useful.jsonbcolumn. This is easily done with HTML forms and server support, but it would be so great if we could do this with QGIS. Much more straightforward with QGIS.