Здесь вы выгружаете свой список all_products
непосредственно в JSON:
with open("products.json", "w") as write_file:
json.dump(all_products, write_file)
Нужный JSON просто содержит этот список в объекте.Что-то вроде
with open("products.json", "w") as write_file:
json.dump({'items': all_products}, write_file)
должно делать то, что вы хотите.
Вообще говоря, между вашей структурой данных Python и JSON, который она генерирует, существует соотношение 1: 1.Если вы построите правильную структуру данных Python, вы получите правильный JSON.Здесь мы используем dict
(который сопоставляется с объектом JSON), чтобы обернуть существующий list
(который сопоставляется с массивом JSON).
Примечание: хотелось бы такжевозможность удалить все \n
и \t
в sku
s, если это возможно.
Если вы также хотите удалить пробелы, вы можете просто использовать str.strip()
, который по умолчанию удаляет пробелы:
return {
"title": product_name,
"link": product_link,
"sku": sku.strip(), # <-- here
"src": src
}