Как преобразовать JSON в YML-файл для Яндекс Бизнес

Внимание! Работает режим премодерации. Все сообщения публикуются после проверки!
Страницы: 1
Ответить
RSS
Как преобразовать JSON в YML-файл для Яндекс Бизнес
Преобразование данных из JSON в YML-файл для Яндекс Бизнес

Задача. Есть полученные через API данные, которые хранятся на  сервере в JSON-формате. Нужно составить из них YML файл для передачи в  Яндекс Бизнес
Изменено: Валерий Макеев - 29.09.2025 12:25:47
Этот код преобразует встроенные JSON-данные о товарах в валидный YML-файл для Яндекс Бизнес и выводит его напрямую в браузер как XML без сохранения на диск.
Код
<?php
$data = json_decode('{"prices":[{"nomenclatureId":208,"name1C":"Название 1","businessId":2,"cost":160},{"nomenclatureId":212,"name1C":"Название 2","businessId":1,"cost":150}]}', true);
$cat = ['1'=>'Категория 1','2'=>'Категория 2'];
header('Content-Type: text/xml');
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<yml_catalog><shop><categories>";
foreach(array_unique(array_column($data['prices'],'businessId')) as $id) if(isset($cat[$id])) echo "<category id=\"$id\">{$cat[$id]}</category>";
echo "</categories><offers>";
foreach($data['prices'] as $p) echo "<offer id=\"{$p['nomenclatureId']}\"><name>{$p['name1C']}</name><vendor>Название_компании</vendor><price>{$p['cost']}</price><currencyId>RUR</currencyId><categoryId>{$p['businessId']}</categoryId></offer>";
echo "</offers></shop></yml_catalog>";
?>
Страницы: 1
Ответить
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
 

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Аутсорсинг

готов помочь, если нет времени

договорная

Могу взять на себя работы по full-stack

* на основе готовой верстки

Разработка корпоративного сайта

от 7 дней

от 40 000 рублей

Разработка сайта без системы оплаты заказов через корзину

* стоимость зависит от наличия верстки, использования готового решения и т.д.

Техническая поддержка

сайтов на CMS 1C-Битрикс

от 20 000 рублей/месяц
Оптимизация производительности действующих интернет-проектов, наполнение и сопровождение, полная техническая поддержка и продвижение в поисковых сетях.

* стоимость зависит от объема и сложности выполняемых работ