Запрос GraphQL - не видит вложенные элементы в JSON ответ - PullRequest
0 голосов
/ 22 марта 2020

, если кто-то может рискнуть предположением или где его искать, будет очень признателен. Я могу получить вложенные данные, когда я запускаю с помощью API Graphgl, однако, из моей программы узла он показывает только элементы верхнего уровня - не отображает вложенные элементы для объекта customer и lineitem. Я использую Koa middle, где с обещанием ответа:

router.get('/orders/', async (ctx) => {
const auth = prepareAuth(ctx);
await getOrders(auth).then(response => ctx.body = response.data.data.orders);

console.log(ctx.body.edges)

Однако из консоли это имеет значение (client null и 'object':

[
  {
    node: {
      createdAt: '2020-02-24T12:53:20Z',
      customer: null,
      name: '#1001',
      lineItems: [Object]
    }
  },
  {
    node: {
      createdAt: '2020-02-24T12:53:50Z',
      customer: null,
      name: '#1002',
      lineItems: [Object]
    }
  },
  {
    node: {
      createdAt: '2020-03-10T21:11:04Z',
      customer: null,
      name: '#1003',
      lineItems: [Object]
    }
  }
]

, когда я использую GraphQL API напрямую запрос работает нормально, и я получаю полный ответ:

{
  "data": {
    "orders": {
      "edges": [
        {
          "node": {
            "createdAt": "2020-02-24T12:53:20Z",
            "customer": {
              "displayName": "franko girl"
            },
            "name": "#1001",
            "lineItems": {
              "edges": [
                {
                  "node": {
                    "name": "dance mat red",
                    "quantity": 4
                  }
                }
              ]
            }
          }
        },
        {
          "node": {
            "createdAt": "2020-02-24T12:53:50Z",
            "customer": {
              "displayName": "franko man"
            },
            "name": "#1002",
            "lineItems": {
              "edges": [
                {
                  "node": {
                    "name": "dance mat black",
                    "quantity": 2
                  }
                }
              ]
            }
          }
        },
        {
          "node": {
            "createdAt": "2020-03-10T21:11:04Z",
            "customer": {
              "displayName": "franko man"
            },
            "name": "#1003",
            "lineItems": {
              "edges": [
                {
                  "node": {
                    "name": "dance mat black",
                    "quantity": 1
                  }
                },
                {
                  "node": {
                    "name": "dance mat red",
                    "quantity": 1
                  }
                }
              ]
            }
          }
        }
      ]
    }
  },

1 Ответ

0 голосов
/ 24 марта 2020

Хорошо, так что, наконец, понял это, для всех, кто сталкивается с этой проблемой, вам нужно преобразовать объект json в строку, используя встроенную функцию javascript: JSON .stringify ()

с W3schools.com

var obj = {имя: "Джон", возраст: 30, город: "Нью-Йорк"};

var my JSON = JSON .stringify (OBJ);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...