\u0000
е единствената Unicode кодова точка, която не е валидна в низ. Не виждам друг начин освен да дезинфекцирам низа.
От json
е просто низ в определен формат, можете да използвате стандартните функции за низове, без да се притеснявате за JSON структурата. Едноредов дезинфектант за премахване на кодовата точка би бил:
SELECT (regexp_replace(the_string::text, '\\u0000', '', 'g'))::json;
Но можете също така да вмъкнете всеки символ по ваш вкус, което би било полезно, ако нулевата кодова точка се използва като някаква форма на разделител.
Обърнете внимание и на фината разлика между това, което се съхранява в базата данни и как се представя на потребителя. Можете да съхраните кодовата точка в JSON низ, но трябва предварително да я обработите до някакъв друг знак, преди да обработите стойността като json
тип данни.