Я использую JSON.NET для сериализации общего списка в json-файле. Он работает нормально, но я не знаю, как изменить процесс - прочитайте в json-файле и раздуйте общий список с его содержимым.Как я могу десериализовать json-файл обратно в общий список, из которого он был сериализован?
У меня есть очень простой класс:
public class AssignmentTypesLU
{
public int AssignmentID { get; set; }
public string AssignmentName { get; set; }
}
... и общий список для хранения экземпляров этого:
List<AssignmentTypesLU> assignmentTypesList;
Я тогда заселить общий список, если файл не уже существуют (теоретически, условие верно только один раз):
if (!System.IO.File.Exists(ASSIGNMENT_TYPES_FILENAME))
{
List<AssignmentTypesLU> atluList = new List<AssignmentTypesLU>();
AssignmentTypesLU atlu = new AssignmentTypesLU();
atlu.AssignmentID = 1;
atlu.AssignmentName = "Bible Reading";
atluList.Add(atlu);
atlu = new AssignmentTypesLU();
atlu.AssignmentID = 2;
atlu.AssignmentName = "Initial Call";
atluList.Add(atlu);
. . .
// Serialize contents of list to json file
var jsonAssignmentTypesLU = JsonConvert.SerializeObject(atluList);
System.IO.File.WriteAllText(ASSIGNMENT_TYPES_FILENAME, jsonAssignmentTypesLU);
}
Но я тогда хочу открыть файл json и rea d содержимое обратно в общий список. Единственное, что у меня до сих пор:
// Now open these files and read their contents into the lists declared above.
if (System.IO.File.Exists(ASSIGNMENT_TYPES_FILENAME))
{
var jsonContents = System.IO.File.ReadLines(ASSIGNMENT_TYPES_FILENAME);
assignmentTypesList = JsonConvert.DeserializeObject<List<AssignmentTypesLU>>(jsonContents);
}
... но с этим (правда вид дикого догадка) я получаю, "не может конвертировать из„System.Collections.Generic.IEnumerable“в 'string' "
Каков правильный способ достижения этого?
Вы можете показать нам фрагмент файла json? –
[{«AssignmentID»: 1, «AssignmentName»: «Bible Reading»}, {«AssignmentID»: 2, «AssignmentName»: «Initial Call»}, {«AssignmentID»: 3, «AssignmentName»: «Initial Call» Householder "}, {" AssignmentID ": 4,« AssignmentName »:« Return Visit »}, {« AssignmentID »: 5,« AssignmentName »:« Return Visit Householder »}, {« AssignmentID »: 6,« AssignmentName »: «Изучение Библии»}, {«AssignmentID»: 7, «AssignmentName»: «Дом владельца Библии»}] –