\u0000
文字列で無効な1つのUnicodeコードポイントです。ひもを消毒する以外に方法はありません。
json
以降 は特定の形式の単なる文字列であるため、JSON構造を気にすることなく、標準の文字列関数を使用できます。コードポイントを削除するための1行の消毒剤は次のようになります。
SELECT (regexp_replace(the_string::text, '\\u0000', '', 'g'))::json;
ただし、好みの文字を挿入することもできます。これは、ゼロコードポイントを何らかの形の区切り文字として使用する場合に役立ちます。
データベースに保存されているものと、それがユーザーに提示される方法との微妙な違いにも注意してください。コードポイントはJSON文字列に保存できますが、値をjson
として処理する前に、他の文字に前処理する必要があります。 データ型。