我有一个包含JSON数据的文件。该文件是给我的#34;漂亮的印刷" (使用缩进等),但PostgreSQL gcloud
无法加载它。它给出了以下错误:
\copy
此错误很容易重现。创建临时表:
CONTEXT: JSON data, line 1: {
COPY test_data, line 1, column data: "{"
接下来创建2个文件。在file1中,输入以下文本:
CREATE TEMP TABLE target(data jsonb);
在file2中:
{
"catalog_name":"foo","sale_date":"2016-02-09T00:00:00"
}
{1}在file1上失败但在file2上成功。
根据jsonlint.com,它们都是有效的json字符串。
是否可以使用{"catalog_name":"foo","sale_date":"2016-02-09T00:00:00"}
加载file2而不对文件进行任何修改?
我正在使用PostgreSQL 9.4.5
答案 0 :(得分:1)
如果您的数据对换行不是非常敏感,您可以尝试从JSON
输入中删除它们。
例如
cat input.json | tr -d '\n' > input2.json
使用新的输入文件应该有效。