在json路径文件中使用逻辑运算符

时间:2016-07-17 15:20:04

标签: json amazon-s3 amazon-redshift jsonpath

是否有在复制命令中使用的JSON路径文件中使用逻辑运算符的功能。

例如,我有一个JSON,它可以包含一个可以是

的键
  

说明

或者

  

描述

所以在JSON中它就像 -

{
"Desc": "Hello",
"City" : "City1",
"Age": "21"
}

{
"Description" : "World",
"City" : "City2",
"Age": "25"
}

我使用copy命令将上面的JSON中的数据拉入我的表中的redshift。该表有一个名为" description_data"的列。这将存储" Desc"的值。或"描述"。所以我希望我的路径文件使用" OR"条件。

这是我目前正在使用的路径文件 -

{
"jsonpaths": [
               "$['Desc']",
               "$['City']",
               "$['Age']"
             ]
}

哪个工作正常。

我尝试做的是以下内容(这是我不确定是否有任何语法或功能来实现目标)

   {
    "jsonpaths": [
                   "$['Desc']" or "$['Description']",
                   "$['City']",
                   "$['Age']"
                 ]
    }

1 个答案:

答案 0 :(得分:0)

不,Redshift不支持此功能。

您可以发出两个copy命令,一个使用Desc,另一个使用Description,以将数据加载到两个临时表中。之后,您可以将两者合并到最终表中。