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