Как получить определенное слово или число из блока текста с помощью cheerio JS - PullRequest
0 голосов
/ 01 августа 2020

Мне интересно, как получить все наборы чисел, которые идут после «id»: в каждой строке этой ссылки с помощью Cheerio in JS: https://kith.com/collections/mens-footwear/products/nkcw7297-100.json

Пример:

[{
    "id": 19437838336128,
    "product_id": 2069464547456,
    "title": "3",
    "price": "110.00",
    "sku": "12757001",
    "position": 1,
    "compare_at_price": "",
    "fulfillment_service": "manual",
    "inventory_management": "shopify",
    "option1": "3",
    "option2": null,
    "option3": null,
    "created_at": "2020-07-13T07:24:00-04:00",
    "updated_at": "2020-07-14T08:07:57-04:00",
    "taxable": true,
    "barcode": null,
    "grams": 1361,
    "image_id": null,
    "weight": 3.0,
    "weight_unit": "lb",
    "tax_code": "PC040100",
    "requires_shipping": true
  }, {
    "id": 19437838368896,
    "product_id": 2069464547456,
    "title": "3.5",
    "price": "110.00",
    "sku": "194496645118",
    "position": 2,
    "compare_at_price": "",
    "fulfillment_service": "manual",
    "inventory_management": "shopify",
    "option1": "3.5",
    "option2": null,
    "option3": null,
    "created_at": "2020-07-13T07:24:00-04:00",
    "updated_at": "2020-07-31T17:38:25-04:00",
    "taxable": true,
    "barcode": null,
    "grams": 1361,
    "image_id": null,
    "weight": 3.0,
    "weight_unit": "lb",
    "tax_code": "PC040100",
    "requires_shipping": true
  },

Итак, я бы хотел иметь возможность получать 2 варианта после «id»: в начале каждого элемента. (1-й - 19437838336128, второй - 19437838368896)

1 Ответ

1 голос
/ 01 августа 2020

Для этого не нужно манипулировать DOM. Вы можете использовать fetch (используйте node.js polyfill );

fetch('https://kith.com/collections/mens-footwear/products/nkcw7297-100.json')
.then(res => res.json())
.then(data => {

    let variantsIds = data.product.variants.map(p => p.id);

})
.catch(console.log)
...