Fighter90/json_converter

Tool for converting json (list of objects) to csv, excel

★ 1Forks 0JavaScriptGitHub ↗Compare

README

⚙️ JSON Конвертер

GitHub Live Demo

Современный веб-сервис для работы с JSON-данными. Работает полностью в браузере — никаких зависимостей от серверов и никакой передачи данных.


🚀 Возможности

Функция Описание
✅ Валидация Проверка корректности JSON с указанием строки и позиции ошибки
🌲 Дерево Интерактивное дерево с подсветкой синтаксиса, сворачиванием узлов
📝 Подсветка Красивый вывод с отступами и цветовым выделением типов
⇥ Форматирование Автоматическое форматирование с отступами в поле ввода
⟨⟩ Минификация Сжатие JSON в одну строку
📊 Таблица Преобразование любого JSON (в т.ч. вложенного) в HTML-таблицу с поиском
📈 Статистика Размер, глубина, типы данных, количество ключей
⬇ Экспорт Скачивание результатов в JSON, CSV, TXT

📂 Структура проекта

json_converter/
├── index.html           # Главная страница
├── css/
│   └── style.css        # Стили (responsive, dark editor)
├── js/
│   ├── utils.js         # Утилиты: flatten, stats, CSV-cells, escapeHtml
│   ├── parser.js        # Парсер/валидатор, подсветка, коллапсируемое дерево
│   ├── converter.js     # format, minify, jsonToCsv, jsonToText, downloadBlob
│   ├── table-builder.js # Построитель таблиц из любого JSON
│   └── app.js           # Главная логика приложения
├── examples/
│   ├── simple.json      # Простой массив объектов
│   ├── nested.json      # Вложенные объекты
│   └── complex.json     # Сложный JSON (заказ, метаданные, edge-cases)
├── test/
│   └── tests.js         # 60+ юнит-тестов (Node.js)
└── README.md

🖥 Использование

Онлайн

Откройте https://fighter90.github.io/json_converter/

Локально

git clone https://github.com/Fighter90/json_converter.git
cd json_converter
# Откройте index.html в браузере (или запустите локальный сервер)
python3 -m http.server 8080
# → http://localhost:8080

Запуск тестов

node test/tests.js

📋 Примеры

Простой массив

[
  {"name": "Alice", "age": 30, "email": "[email protected]"},
  {"name": "Bob",   "age": 25, "email": "[email protected]"}
]

Вложенный объект (автоматически разворачивается в таблицу)

{
  "user": {
    "id": 1,
    "profile": { "name": "Alice", "city": "Moscow" }
  },
  "scores": [98, 87, 92]
}

Сложный JSON с edge-cases

— смотрите examples/complex.json


🔧 Технологии

  • Чистый HTML5 / CSS3 / JavaScript (ES5+) без фреймворков
  • Bootstrap 5.3 — адаптивная вёрстка
  • Все вычисления выполняются локально в браузере

👤 Автор

Fighter90 — github.com/Fighter90

Лицензия: MIT

Contributors

CopilotdshevtsoffFighter90

Issues