Сохранение строки JSON в файл - C#

Узнай цену своей работы

Формулировка задачи:

Доброго дня. По моему достаточно простая операция, но что то я затупил и не как не могу разобраться, нужен совет со стороны. В общем использую библиотеку Newtonsoft.Json. Получаю с сервера массив объектов json(объекты сложные по структуре - имеют более 10 простых полей и 5 List с разным количеством содержимого), десериализую его, получаю массив объектов .NET. С этой частью проблем нет. Но необходимо сохранить этот массив объектов. По логике программы удобнее всего использовать обычный текстовый файл(хотя наверно можно рассмотреть другой формат файла, лишь бы работало) а не БД. Т.е. наиболее экономичным, как мне кажется, будет хранить именно массив json строк. И вот здесь я и завис. То есть сохранить массив строк в файл сложности не составило - пишется без проблем. А вот при восстановлении получается каша - вместо положенного десятка json строк мне выдается из файла массив размером за 1000 - все элементы одного объекта, в т.ч. скобки, кавычки и проч. считаются за одну строку. Как я понял, при записи забыл "защитить" символы разметки json, вот такое и получилось. Собственно как правильно осуществить эту операцию? Вот сохранение в файл, с отбрасыванием вспомогательных операций по прописыванию пути.
Листинг программы
  1. List<string> ListStrings = new List<string>();
  2. JArray array = await GetHistory(); //мой вызов сервера
  3. foreach (JObject jo in array)
  4. {
  5. ListStrings .Add(jo.ToString());
  6. }
  7. File.WriteAllLines(filepath, ListStrings );
Ну и собственно операция чтения:
Листинг программы
  1. string[] strings = File.ReadAllLines(filepath);

Решение задачи: «Сохранение строки JSON в файл»

textual
Листинг программы
  1. JArray array = await GetHistory();
  2. string json = JsonConvert.SerializeObject(array);
  3. File.WriteAllText(filepath, json);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы