創建JSON導出時,Postgres不正確地轉義引號。注意雙引號在下面的更新中...Postgres row_to_json產生無效的JSON和雙重轉義引號
UPDATE models SET column='"hello"' WHERE id=1;
COPY (SELECT row_to_json(models)
FROM (SELECT column FROM shaders WHERE id=1) shaders)
TO '/output.json';
output.json的內容:
{"column":"\\"hello\\""}
你可以看到,報價不當逃脫,它會創建無效的JSON。 它應該是:
{"column":"\"hello\""}
我怎樣才能解決這個Postgres的錯誤或解決它?
我將此作爲bug#13160提交給http://www.postgresql.org/list/pgsql-bugs/(待審覈) –
這不是一個錯誤。 'COPY'不用於將單個結果輸出到文件。它發出逃逸的面向行的數據。這聽起來像你想'psql'的'\ o'選項。 –