Присоединиться к вложенным полям в shopify graphql Запрос массовой операции - PullRequest
0 голосов
/ 04 мая 2020

Есть ли способ воссоединить вложенные поля, потому что в ответ он разбивается на отдельные объекты.

Фактический ответ:

{"id":"gid:\/\/shopify\/Product\/1755556806746","title":"A Book bind","description":"Energize is a pure Sativa formulation designed to stimulate, excite, and keep you productive","productType":"CARTRIDGE","vendor":"ACES","totalInventory":0,"featuredImage":null,"handle":"1g-energizedurban-cart-82-89"}
{"id":"gid:\/\/shopify\/Metafield\/4680431861850","namespace":"custom_fields","key":"thc_percentage","value":"aa","__parentId":"gid:\/\/shopify\/Product\/1755556806746"}
{"id":"gid:\/\/shopify\/Metafield\/4680431894618","namespace":"custom_fields","key":"cbd_percentage","value":"bb","__parentId":"gid:\/\/shopify\/Product\/1755556806746"}
{"id":"gid:\/\/shopify\/Metafield\/4680431960154","namespace":"custom_fields","key":"strain_name","value":"Strain","__parentId":"gid:\/\/shopify\/Product\/1755556806746"}

Ожидаемый ответ:

{"id":"gid:\/\/shopify\/Product\/1755556806746","title":"A Book bind","description":"Energize is a pure Sativa formulation designed to stimulate, excite, and keep you productive","productType":"CARTRIDGE","vendor":"ACES","totalInventory":0,"featuredImage":null,"handle":"1g-energizedurban-cart-82-89",
metafields:[{"id":"gid:\/\/shopify\/Metafield\/4680431861850","namespace":"custom_fields","key":"thc_percentage","value":"aa","__parentId":"gid:\/\/shopify\/Product\/1755556806746"},
{"id":"gid:\/\/shopify\/Metafield\/4680431894618","namespace":"custom_fields","key":"cbd_percentage","value":"bb","__parentId":"gid:\/\/shopify\/Product\/1755556806746"},
{"id":"gid:\/\/shopify\/Metafield\/4680431960154","namespace":"custom_fields","key":"strain_name","value":"Strain","__parentId":"gid:\/\/shopify\/Product\/1755556806746"}
]
}

1 Ответ

1 голос
/ 06 мая 2020

Shopify использует JSON Lines (JSONL) тип данных для вывода ответа для массовых операций.

Каждая строка в файле - это объект узла, возвращаемый в соединении. Если у узла есть вложенное соединение, то каждый дочерний узел извлекается в свой собственный объект на следующей строке.

Итак, вам нужно go через каждую строку и проанализировать его как JSON объект в вашем скрипте. Используйте атрибут __parentId в качестве ссылки на родительский объект.
При необходимости присоедините его к родительскому объекту, но это можно сделать только после получения ответа. Вы не можете заставить Shopify API сделать это за вас.


Полезные ссылки:

...