【问题标题】:How to iterate json nested array in graphql scheme如何在graphql模式中迭代json嵌套数组
【发布时间】:2019-07-27 21:01:07
【问题描述】:

我的 NodeJS Apollo 服务器有以下 JSON 输出:

attributes:
   [ { id: 8,
       name: 'Size',
       position: 0,
       visible: true,
       variation: true,
       options: [Array] } ],

现在我想为此创建一个 graphql 方案。 我可以访问所有项目,如 id、位置、可见......但我无法访问的选项。

我该如何为此编写 graphql 方案? 目前的方案是:

 const ProductAttributes = `
      type ProductAttributes {
        id: Int!
        name: String!
        position: String!
        visible: Boolean!
        Variation: Boolean!
        // todo Options: [array] ?
      }
    `;

我发现 options 数组看起来像这样,但没有分配任何键:

[ { id: 8,
    name: 'Size',
    position: 0,
    visible: true,
    variation: true,
    options:
     [ 'L32 W35',
       'L32 W36',
       'L32 W37',
       'L32 W38',
       'L28 W22',
       'L28 W23',
       'L28 W24',
       'L28 W25',
       'L32 W34' ] } ]

我是否必须使用 GraphQL 为其分配一个键?还是我必须在我的 NodeJS ajax 请求中这样做?

例如:选项:{ 名称:'L32 W35', 名称:'l32 W36'等...

【问题讨论】:

    标签: node.js reactjs graphql apollo


    【解决方案1】:

    如果 [Array] 是 object 的数组,您需要这样做。

    `
    type ProductAttributes { 
            id: Int!
            name: String!
            position: String!
            visible: Boolean!
            Variation: Boolean!
            options: [String!] 
    }
    `
    

    如果 [Array] 是 array 的数组,那么在每个最后的内部数组中,对象或字符串都应如上所示。您可以处理这些步骤直到最后一个数组。 现在在您的情况下是字符串数组,因此您可以使用直接 String 类型。

    【讨论】:

    • 非常感谢,我编辑了我的问题以使事情更清楚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-17
    • 2021-08-21
    • 2018-07-23
    • 2019-09-16
    • 2016-05-16
    • 2021-11-27
    • 2019-05-25
    相关资源
    最近更新 更多