0

我正在尝试使用 aws 查询 JSON 对象s3-select。我的 JSON 数组结构是这样的:

[
    {
        "title": "s3",
        "url": "https://...",
        "time": "2019-07-02",
        "summary": "by using s3 select..."
    },
    {
        "title": "athena",
        "url": "https://...",
        "time": "2019-07-01",
        "summary": "by using athena..."
    },
    {
        "title": "mysql",
        "url": "https://...",
        "time": "2019-06-30",
        "summary": "by using mysql..."
    }
]

数组中的所有对象都具有相同的属性。现在我想执行一个查询来返回所有标题等于的对象,比如说,mysqlathena

我在 aws 控制台中尝试了很多不同的脚本,但都没有奏效。它返回一个空数组/对象或给出一个错误。例如:

select * from s3object s where s[*].title = 'athena' //NOT WORKING.
select * from S3Object[*] s where s.title = 'athena' //NOT WORKING.

我的 JSON 数组结构是否错误(因为我的对象没有键名)?我怎样才能做到这一点?

4

1 回答 1

6

您应该在根级别选择数组。所以第一个 [ ] 对应于根。Next [ ] 根目录中的顶级数组。

试试下面的查询,它会工作:

select * from S3Object[*][*] s where s.title = 'athena' 
于 2019-08-11T11:42:42.500 回答