我有以下JSON格式的行:
est.Y <- c(1:240)
for(i in 1:12){for(j in 0:19){est.Y[(12*j)+i] <- X[(12*j)+i] - lse.Mu.si[i]}}
我想将其上传到红移表中,如下所示:
[
{
"id": 1,
"costs": [
{
"blue": 100,
"location":"courts",
"sport": "football"
}
]
}
]
以下JSONPaths文件未成功:
id | blue | location | sport
--------+------+---------+------
1 | 100 | courts |football
Redshift返回以下错误代码:
{
"jsonpaths": [
"$.id",
"$.costs[0].blue",
"$.costs[0].location",
"$.costs[0].sport"
]
}
如何更改jsonpaths文件以便能够根据需要上传json?
答案 0 :(得分:0)
John Rotenstein在评论中提供了答案。我只是在这里正式化答案。
如documentation所示,输入的JSON记录必须是用换行符分隔的JSON对象序列。这些示例显示了JSON对象的漂亮打印效果,但通常记录的输入流每行将是一个JSON对象。
{ "id": 1, "costs": [ { "blue": 100, "location":"courts", "sport": "football" } ] }
{ "id": 2, "costs": [ { "blue": 200, "location":"fields", "sport": "cricket" } ] }
因此,从技术上讲,输入记录流不必是有效的JSON,而必须是定界的有效JSON对象的流。