В ваших ключевых словах, кажется, вы хотите вставить напрямую через pgadmin. Итак, PostgreSQL имеет собственную поддержку формата JSON, я сделал пример того, как использовать это:
Чтобы показать, как вы можете хранить json объекты, следуйте фиктивной таблице:
$ CREATE TABLE test (id INT, data JSON, datab JSONB);
CREATE TABLE
Попытка проверить вашу строку на лету, в основном c способ. Я говорю PostgreSQL, чтобы преобразовать строку в json и получить доступ к свойству 'title'
:
test=# SELECT '{"title": "Testing"}'::json->'title';
?column?
-----------
"Testing"
(1 row)
Теперь попробуем с вашим json (с некоторыми изменениями) - Backsla sh \
и кавычка '
здесь экранируются:
test=# SELECT '{"title": "Testing","myregex": "^[A-Z0-9_!#$%&''*+/=?`{|}~^-]+(?:\\.[A-Z0-9_!#$%&''*+/=?`{|}~^-]+↵)*@[A-Z0-9-]+(?:\\.[A-Z0-9-]+)*$"}'::json->'myregex'
?column?
----------------------------------------------------------------------------------------------------
"^[A-Z0-9_!#$%&'*+/=?`{|}~^-]+(?:\\.[A-Z0-9_!#$%&'*+/=?`{|}~^-]+↵)*@[A-Z0-9-]+(?:\\.[A-Z0-9-]+)*$"
(1 row)
Итак, чтобы сохранить, просто выполните преобразование json с escape-строками:
test=# INSERT INTO test VALUES (1, '{"title": "Testing","myregex": "^[A-Z0-9_!#$%&''*+/=?`{|}~^-]+(?:\\.[A-Z0-9_!#$%&''*+/=?`{|}~^-]+↵)*@[A-Z0-9-]+(?:\\.[A-Z0-9-]+)*$"}'::json);
INSERT 1
И, мы закончили.