在GraphQL中是否可以定义xpath来忽略/跳过随机场并提取内部对象?

在GraphQL中是否可以定义xpath来忽略/跳过随机场并提取内部对象?,graphql,graphql-java,Graphql,Graphql Java,我是GraphQL的新手,我有一个复杂的json对象,其中有一个随机场,我想忽略它,得到它的内部/下一级对象 假设我尝试调用的外部api返回了以下json,我只想提取user键的列表 { "users": { "123321": { <!-- is a random number which can be any number --> "user": { "id": "123321",

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

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

{
  "users": {  
       "123321": { <!-- is a random number which can be any number -->
            "user": {
                "id": "123321",
                 "name": "Bob"
                 ...
             }   
       },
      "456654": {
           "user": {
               "id": "456654",
               "name": "Foo"
            }
      }
     ...
}
{
“用户”:{
"123321": { 
“用户”:{
“id”:“123321”,
“姓名”:“鲍勃”
...
}   
},
"456654": {
“用户”:{
“id”:“456654”,
“名称”:“Foo”
}
}
...
}
理想情况下,当我定义一个查询时,我希望提取并构建所有
用户
对象的映射。如果可能,有人能告诉我如何实现这一点,请举个例子


非常感谢!

我解决这个问题的方法是在将该对象交给解析程序之前将其转换为数组:

const users = {
  users: [
    {
      id: "123321",
      name: "Bob",
    },
    {
      id: "456654",
      name: "Foo",
    }
  ]
};
这允许您进行直接查询:

query {
  user {
    id 
    name
  }
}

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

我解决这个问题的方法是在将该对象交给解析器之前将其转换为数组:

const users = {
  users: [
    {
      id: "123321",
      name: "Bob",
    },
    {
      id: "456654",
      name: "Foo",
    }
  ]
};
这允许您进行直接查询:

query {
  user {
    id 
    name
  }
}
基本上,使用JavaScript将数据更改为所需的形状,这样GraphQL就不需要做任何特殊的事情