Я пытаюсь вставить exiftool
сгенерированный JSON в postgresql через psql
, который выглядит действительным. Как-то кажется, что сбежавшая одинарная кавычка и скрытая двойная кавычка не работают должным образом. Я не могу понять, как правильно избежать json. Оказывается, что PSQL не обрабатывает единой цитаты бежать правильно, как его загрузки \»из к PSQL вместо запросаpsql insert json с двойными кавычками внутри строк
Учитывая эту таблицу
create table test (exif jsonb);
Эти работы:.
test=> insert into test values ('{"a": 1, "b": "2"}');
INSERT 0 1
test=> insert into test values ('{"a": 1, "b": "2\""}');
INSERT 0 1
test=> select * from test;
exif
----------------------
{"a": 1, "b": "2"}
{"a": 1, "b": "2\""}
Но они не
test=> insert into test values ('{"a": 1, "b": "1\' 2\""}');
Invalid command \""}');. Try \? for help.
test=> select '{"a": 1, "b": "1' 2\""}';
Invalid command \""}';. Try \? for help.
test=> select E'{"a": 1, "b": "1' 2\""}';
Invalid command \""}';. Try \? for help.
test=> select '{"a": 1, "b": "1\' 2\""}';
Invalid command \""}';. Try \? for help.
Любые предложения?
двойные кавычки экранируются в источнике , и json spec говорит, что их следует избегать. – ruckc
Спасибо за продолжение @ruckc –