инструмент для разработчиков / 01
Конвертер XML в JSON
Преобразуйте XML-документ в читаемый JSON с корректной обработкой атрибутов и повторяющихся элементов.
Конвертер XML в JSON: TOEA считывает элементы, атрибуты, текст и CDATA документа, а затем преобразует их в JSON: перед атрибутами добавляется @, отдельный текст помещается в #text, а повторяющиеся соседние элементы с одинаковыми именами объединяются в массив. Работает на 100% локально в вашем браузере, файлы на сервер не загружаются.
- Категория
- Инструменты для разработчиков
- Запуски
- В вашем браузере
- Стоимость
- Бесплатно · без регистрации
- Доступность
- Готово к использованию
Полностью работает в браузере
До 5 MB · ничего не загружается
Всё преобразуется в текст
В XML нет типов данных, поэтому <count>42</count> становится "42", а <active>true</active> — "true". Преобразуйте числа и логические значения в коде, который читает JSON, поскольку там вы знаете назначение каждого поля. То же относится к атрибутам: @id содержит строку, даже если выглядит как число.
Код, читающий результат, также должен учитывать элементы, которые повторяются не всегда. Если <item> встречается один раз, это объект, а если два — массив, поэтому перед перебором нормализуйте значение с помощью Array.isArray(x) ? x : [x].
Документы, которые плохо конвертируются
Конвертация подходит для данных: конфигураций, ответов API, лент и экспортов. Для связного текста она подходит плохо. В <p>Read <b>this</b> first</p> обычный текст объединяется в одно значение #text, а выделенное слово становится отдельным ключом, поэтому порядок чтения теряется. XHTML, DocBook и подобные форматы документов лучше обрабатывать с помощью XML-библиотеки. Чтобы изучить структуру документа перед конвертацией, отформатируйте его с помощью форматтера XML.
Как пользоваться
- Вставьте XML или выберите файл.
- Выберите размер отступа.
- Скопируйте или скачайте JSON.
Конфиденциальность и ограничения
Текст преобразуется в браузере и никогда не загружается на сервер. Это особенно важно, если файл содержит конфигурацию или экспорт, которым вы не хотели бы делиться с посторонними. Пространства имён сохраняются в именах элементов без изменений, а не разрешаются.
Похожие инструменты
Часто задаваемые вопросы
Почему перед атрибутами добавляется @?
XML отделяет атрибуты от дочерних элементов, а в JSON такого различия нет. Префикс @ сохраняет это разделение, поэтому преобразование можно выполнить в обратную сторону без догадок.
Почему один элемент превратился в массив?
Повторяющиеся соседние элементы с одинаковыми именами всегда преобразуются в массив, поскольку именно это отражает их структуру. Имя, которое встречается один раз, остаётся обычным значением.
Для чего нужен #text?
Если элемент содержит одновременно текст и дочерние элементы, отдельному тексту нужно место в структуре. Для этого используется #text.
Что не поддерживается?
Не поддерживаются определения сущностей DTD, разрешение пространств имён и инструкции обработки, кроме декларации. В конфигурационных файлах и данных API они не используются.
Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен