1

我是 GraphQL 的新手,我有一个复杂的 json 对象,其中有一个随机字段,我想忽略它并获得它的内部/下一级对象?

假设我有以下 json 由我试图调用的外部 api 返回,我只想提取user键列表

{
  "users": {  
       "123321": { <!-- is a random number which can be any number -->
            "user": {
                "id": "123321",
                 "name": "Bob"
                 ...
             }   
       },
      "456654": {
           "user": {
               "id": "456654",
               "name": "Foo"
            }
      }
     ...
}

理想情况下,当我定义查询时,我想提取并构建所有user对象的映射。如果可能的话,有人可以告诉我如何实现这一点,一个例子将不胜感激。

非常感谢!

4

1 回答 1

0

我解决此问题的方法是将该对象转换为数组,然后再将其交给解析器:

const users = {
  users: [
    {
      id: "123321",
      name: "Bob",
    },
    {
      id: "456654",
      name: "Foo",
    }
  ]
};

这允许您进行直接查询:

query {
  user {
    id 
    name
  }
}

基本上,使用 JavaScript 将数据更改为您需要的形状,因此 GraphQL 不需要做任何特殊的事情。

于 2017-11-10T13:44:04.910 回答