Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 26.08.2021
Сообщений: 81
.NET 6

Json сохраняется в одну строку

06.07.2022, 09:17. Показов 5675. Ответов 28

Студворк — интернет-сервис помощи студентам
Привет. Подскажите пожалуйста, что добавить или что не так.
Запись в файл происходит в одну строку. Но нужно чтобы данные каждой карточки, записывались в отдельную строку.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System.Text.Json;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
 
namespace Card_Class_Library
{
    public class EmployeeRecord
    {               
        // Добавление в файл        
        readonly string pathJ = "ListJsonRec.json";
        public void PrintEmpl(List<string> employeesAlls)
        {
            DataContractJsonSerializer dataContractJson = new DataContractJsonSerializer(typeof(List<string>));
            using (FileStream fs = new FileStream(pathJ, FileMode.Append))
            {               
                dataContractJson.WriteObject(fs, employeesAlls);                               
            }                        
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.07.2022, 09:17
Ответы с готовыми решениями:

Создание текстового редактора: текст сохраняется в одну строку
Создаю простенький текстовый редактор, и наткнулся на некоторые подводные камни. Надеюсь подскажите как мне их обойти. В проекте все...

Gson, json использование setPrettyPrinting. Выводит все равно все в одну строку
Не могу понять почему, перерыл кучу мануалов, все вроде верно, а выводит то же фактически что и Gson gson = new Gson(); //:( ...

Не сохраняется коллекция List<> при сериализации в JSON
Добрый день. Возникла проблема во время сериализации в формате JSON. Имеется два класса Buses и Infobuses. В Первом классе переменные про...

28
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301
06.07.2022, 09:20
Цитата Сообщение от Evgeny40rus Посмотреть сообщение
Запись в файл происходит в одну строку.
А эти данные потом не получается обратно, распрасить?
Или смысл в том, чтобы открыв в текстовом редакторе JSON файл был более менее читаемым?
1
0 / 0 / 0
Регистрация: 26.08.2021
Сообщений: 81
06.07.2022, 09:28  [ТС]
Цитата Сообщение от Schumacher57 Посмотреть сообщение
А эти данные потом не получается обратно, распрасить?
Или смысл в том, чтобы открыв в текстовом редакторе JSON файл был более менее читаемым?
Распарсить с помощью Fof, не проблема конечно.
Да, чтобы это было читаемым.

Будет как то так.
Данные должны сохранятся в Json и в CSV файл.
Из Json они при старте программы будут загружаться статическим классом в List , для дальнейшей работы с данными пользователем и после работы вновь перезаписываться в файлы.
Если можно проще, подскажите пожалуйста.
0
2285 / 1601 / 400
Регистрация: 26.06.2017
Сообщений: 4,743
Записей в блоге: 1
06.07.2022, 09:38
Цитата Сообщение от Evgeny40rus Посмотреть сообщение
Если можно проще
Может XML? Он вроде бы специально был придуман для нормального восприятия человеком.
1
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
06.07.2022, 09:41
Цитата Сообщение от Evgeny40rus Посмотреть сообщение
Из Json они при старте программы будут загружаться статическим классом в List
Так если программа грузит данные, какая ей разница в одну строку они там или в миллион?

Ну а вообще там есть настройки сериализации и можно сделать форматированный вывод...
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
06.07.2022, 09:41
Evgeny40rus, это не так просто.
Посмотрите здесь: Как получить форматированный JSON в .NET с помощью С#?.

Но не понятно зачем это вам нужно?
Вы же не собираетесь работать с JSON в текстовом редакторе.
Так какая разница записан он в одну строку или форматирован?
1
0 / 0 / 0
Регистрация: 26.08.2021
Сообщений: 81
06.07.2022, 09:43  [ТС]
Цитата Сообщение от Uswer Посмотреть сообщение
Может XML? Он вроде бы специально был придуман для нормального восприятия человеком.
Пока не пробовал работать с XML
Для примера можно посмотреть как записывается в файл этот формат?

Добавлено через 1 минуту
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Вы же не собираетесь работать с JSON в текстовом редакторе.
Так какая разница записан он в одну строку или форматирован?
Это именно для быстрого доступа и редактирования разработчику.
0
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301
06.07.2022, 09:48
Цитата Сообщение от Evgeny40rus Посмотреть сообщение
Пока не пробовал работать с XML
Для примера можно посмотреть как записывается в файл этот формат?
Напиши в яндексе XML пример. И выбери картинки. Там миллион примеров будет (правда, это ж не сложно).
И согласен с Uswer, XML будет наверное самым читабельным, для "сырого" чтения данных.
1
2285 / 1601 / 400
Регистрация: 26.06.2017
Сообщений: 4,743
Записей в блоге: 1
06.07.2022, 09:51
Цитата Сообщение от Evgeny40rus Посмотреть сообщение
Для примера можно посмотреть как записывается в файл этот формат?
Пример XML взят у официалов
XML
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0"?>
<CAT>
  <NAME>Izzy</NAME>
  <BREED>Siamese</BREED>
  <AGE>6</AGE>
  <ALTERED>yes</ALTERED>
  <DECLAWED>no</DECLAWED>
  <LICENSE>Izz138bod</LICENSE>
  <OWNER>Colin Wilcox</OWNER>
</CAT>
1
0 / 0 / 0
Регистрация: 26.08.2021
Сообщений: 81
06.07.2022, 09:51  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
Ну а вообще там есть настройки сериализации и можно сделать форматированный вывод...
С помощью атрибутов?
C#
1
2
3
4
5
6
7
8
public class Employee
    {
        [MyPropertyInfo(SerializationName = "Имя сотрудника")]
        public string Name { get; set; }
 
        [MyPropertyInfo(SerializationName = "Опыт работы")]
        public int Experience { get; set; }
    }
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
06.07.2022, 10:01
Цитата Сообщение от Evgeny40rus
Это именно для быстрого доступа и редактирования разработчику
Тогда лучше использовать XML, как выше написал Uswer.
Он гораздо удобнее и понятнее для "ручного" редактирования.
1
0 / 0 / 0
Регистрация: 26.08.2021
Сообщений: 81
06.07.2022, 10:03  [ТС]
Понял. Спасибо всем за помощь.
Буду "лопатить" XML
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
06.07.2022, 10:14
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Тогда лучше использовать XML, как выше написал Uswer.
Он гораздо удобнее и понятнее для "ручного" редактирования.
По моему это кому как нравится. Оба формата примерно одинаковы...
1
0 / 0 / 0
Регистрация: 26.08.2021
Сообщений: 81
06.07.2022, 10:46  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
По моему это кому как нравится. Оба формата примерно одинаковы...
Ну а все таки, как записать в файл , в разные строки ? А то зависну с этим XML )
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
06.07.2022, 10:47
Someone007, ну....
JSON в пару К символов в одну строку, мягко говоря, труден в восприятии.
Как минимум нужен опыт и привычка работы с ним и/или использовать редактор адекватно его представляющий.
1
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
06.07.2022, 10:49
Цитата Сообщение от Элд Хасп Посмотреть сообщение
JSON в пару К символов в одну строку, мягко говоря, труден в восприятии.
А xml в одну строку проще чтоли? Логично сравнивать оба формата в форматированном виде...
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
06.07.2022, 10:52
Someone007, так XML по дефолту при сериализации форматируется.
Вопрос же именно в этом - Как создать форматированный файл сериализацией.
XML гораздо проще.
0
0 / 0 / 0
Регистрация: 26.08.2021
Сообщений: 81
06.07.2022, 10:52  [ТС]
Элд Хасп, Someone007,
Хотелось бы , чтобы вот так получалось в файле Json
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
    "contacts": [
        {
            "name": "Jill",
            "phone": "333-5559"
        },
        {
            "name": "Sill",
            "phone": "330-3559"
        },
        {
            "name": "Rill",
            "phone": "338-5559"
        }
    ]
}
Ну примерно так. Тут только Имя и номер тел. Определенной группы.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
06.07.2022, 10:54
Evgeny40rus, может чем колдовать с форматированием JSON стоит использовать адекватный редактор для него, а не просто Блокнот?
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
06.07.2022, 10:58
Цитата Сообщение от Evgeny40rus Посмотреть сообщение
Ну а все таки, как записать в файл , в разные строки ? А то зависну с этим XML )
Как-то тако по идее должно работать...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class EmployeeRecord
{
    static readonly DataContractJsonSerializer Serializer = new DataContractJsonSerializer(typeof(List<string>));
 
    // Добавление в файл        
    const string pathJ = "ListJsonRec.json";
    public void PrintEmpl(List<string> employeesAlls)
    {
        using (FileStream fs = new FileStream(pathJ, FileMode.Create))
        using (var writer = JsonReaderWriterFactory.CreateJsonWriter(fs, Encoding.UTF8, true, true, "  "))
        {
            Serializer.WriteObject(writer, employeesAlls);
        }
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.07.2022, 10:58
Помогаю со студенческими работами здесь

Пишешь значение в одну и ту же ячейку, а рядом заполняется и сохраняется в другие
Доброго дня! Помогите пожалуйста, подправить немного макрос Суть макроса: Пишешь значение в одну и ту же ячейку, а рядом все...

Пишешь значение в одну и ту же ячейку, а рядом все заполняется и сохраняется в другие
Можно ли сделать так, пишеешь значение в одну и ту же ячейку, а рядом все заполняется и сохраняется (см пример на скрине)

JSON - из txt в строку и далее в JSON и MySQL
Для записи в БД сперва создается текстовый файл json.txt, он заливается на хостинг и потом содержание должно записаться в БД. ...

Если на главной диагонали матрицы есть ноль, замените одну строку на одну
Дается матрица Q (3,3). Если на главной диагонали есть ноль, замените одну строку на одну

Программа по выводу каждого слова в одну строку не работает, все выводит в одну строкк
Подскажите как доработать, только не надо пожалуйста писать код заново :( подскажите пожалуйста как доработать этот #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru