https://github.com/downstize/section-to-json-converter
Консольное приложение на C#, преобразующее структурированный текст с разделами в вложенный JSON.
https://github.com/downstize/section-to-json-converter
console converter csharp dotnet9 json parser regex
Last synced: about 1 month ago
JSON representation
Консольное приложение на C#, преобразующее структурированный текст с разделами в вложенный JSON.
- Host: GitHub
- URL: https://github.com/downstize/section-to-json-converter
- Owner: Downstize
- License: mit
- Created: 2025-06-08T11:37:04.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-08T12:01:14.000Z (about 1 year ago)
- Last Synced: 2025-06-08T12:30:05.357Z (about 1 year ago)
- Topics: console, converter, csharp, dotnet9, json, parser, regex
- Language: C#
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 📚 section-to-json-converter
**Консольное приложение на C# для преобразования текстовой иерархии разделов в JSON-структуру.**
Проект реализован на **.NET 9**, с возможностью чтения из файла и сохранением результата в удобочитаемом JSON-формате.
---
## 📌 Функциональность
* Чтение текстового файла с разделами и подзаголовками (`1`, `1.1`, `1.1.1`, …).
* Преобразование структуры в корректный **вложенный JSON**.
* Поддержка:
* вложенных уровней разделов
* разделов с содержимым и без
* Вывод результата в файл `output.json`.
---
## 🛠️ Технологии
* **.NET 9 (Console Application)**
* **System.Text.Json** (сериализация)
* **Regular Expressions** (распознавание разделов)
* **Stack + Dictionary** (построение структуры)
---
## 📂 Структура проекта
```
📦 section-to-json-converter
┣ 📂 data-files # Входные и выходные данные
┃ ┣ 📄 content_eng.txt # Исходный текстовый файл
┃ ┗ 📄 output.json # Результат преобразования
┣ 📄 Program.cs # Основная логика программы
┣ 📄 section-to-json-converter.csproj
┣ 📄 section-to-json-converter.sln
```
---
## 🚀 Запуск проекта
1️⃣ Склонируйте репозиторий и откройте проект:
```bash
git clone https://github.com/Downstize/section-to-json-converter.git
cd section-to-json-converter
```
2️⃣ Убедитесь, что файл `content_eng.txt` лежит в папке `data-files`.
3️⃣ Запустите проект из IDE или через .NET CLI:
```bash
dotnet run
```
4️⃣ Результат будет сохранён в:
```
data-files/output.json
```
---
## 📄 Пример
Исходный файл `content_eng.txt`:
```
1 Общий раздел
Описание
2 Технический раздел
2.1 Подраздел A
Текст A
2.2 Подраздел B
Текст B
```
Результат (`output.json`):
```json
{
"1 Общий раздел": "Описание",
"2 Технический раздел": {
"2.1 Подраздел A": "Текст A",
"2.2 Подраздел B": "Текст B"
}
}
```
---
## 📌 Как это работает
🔢 Программа определяет, что строка начинается с числа — это новый раздел.
🧱 Использует **стек** для построения вложенности.
🧾 Текст после раздела — это содержимое, если нет вложенных разделов.
---
## 🗂 Папка data-files
Используется как рабочая директория:
| Файл | Назначение |
| ----------------- | ----------------------------------- |
| `content_eng.txt` | Входные данные (структура разделов) |
| `output.json` | Результат работы программы |
---
## ✉️ Контакты
Разработчик: **Вячеслав / Venceslao**
GitHub:
[https://github.com/Downstize/section-to-json-converter.git](https://github.com/Downstize/section-to-json-converter.git)
Email:
`swankydid@gmail.com`