Gatsby graphql查询具有空数组的json数据会引发错误

时间:2019-12-20 16:11:50

标签: javascript json graphql gatsby

我正在尝试查询一些可能包含空数组的JSON数据,该JSON文件将可以通过CMS访问,因此它必须支持为空,但是,当gatsby尝试查询空数组时,它会引发错误(大概是因为我正在尝试查询数组中对象的内部项目。

Gatsby中是否有一种查询JSON文件但希望数组为空的方法? (将其中的对象设置为可选?)。

这是我在代码中的两难境地:

careers.json

{
    "title": "Careers",
    "subtitle": "Looking for an exciting new career change?",
    "jobs": [
        {
            "title": "Job 01",
            "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Curabitur blandit tempus porttitor."
        }
    ]
}

当没有任何作业时,上述JSON属性jobs也会为空数组,如下所示:

{
    "title": "Careers",
    "subtitle": "Looking for an exciting new career change?",
    "jobs": []
}

但是,当我尝试在我的Gatsby页面中查询此内容时,它会引发错误:

export const query = graphql`
    query {
       careersJson {
            title
            subtitle
            jobs {
                title
                description
            }
        }
    }
}

错误:

Cannot query field "jobs" on type "CareersJson".

GraphQL request:27:13
26 |             subtitle
27 |             jobs {
   |             ^
28 |                 title

graphql empty array error

0 个答案:

没有答案