Expecting element 'root' from namespace ''.. Encountered 'None' with name '', namespace ''.

При попытке сериализировать файл возникла такая ошибка.
Вот код:

    SerializableModel1 serializableModel1 = new SerializableModel1();
        SerializableModel2 serializableModel2 = new SerializableModel2();
        DataContractJsonSerializer formatter1 = new DataContractJsonSerializer(typeof(SerializableModel1));
        DataContractJsonSerializer formatter2 = new DataContractJsonSerializer(typeof(SerializableModel2));

        SerializableModel1 firstModel;
        SerializableModel2 secondModel;

        using (FileStream file = new FileStream(@"G:\task2.json", FileMode.OpenOrCreate))
        {
            formatter1.WriteObject(file, serializableModel1);
            formatter2.WriteObject(file, serializableModel2);
        }

        using (FileStream file = new FileStream(@"G:\task2.json", FileMode.OpenOrCreate))
        {
            firstModel = formatter1.ReadObject(file) as SerializableModel1;
            secondModel = formatter2.ReadObject(file) as SerializableModel2;
        }

image

Вот здесь - https://stackoverflow.com/questions/2668626/error-converting-json-to-net-object-in-asp-net,http:// - ecloud.net/error-converting-json-to-net-object-in-asp-net.html
и здесь - http://codecloud.net/error-converting-json-to-net-object-in-asp-net.html
у ребят возникали подобные вопросы, так что можете полазить там на досуге, посмотреть, может что-то интересное найдёте...
Вообще, ошибка мне незнакома, не знаю в чём именно проблема...
Хотя уже на первый взгляд в коде есть проблема. Вы, когда форматтером считываете данные с файла и приводите их к своему типу SerializableModel1 или 2 создаёте 2 потока и через оба обращаетесь к файлу. Так делать нельзя уже только потому что к файлу одновременно может обратиться только один поток (если это не асинхронный вызов, а у вас он явно не асинхронный). По этому я бы на вашем месте разбил бы это чтение на 2 юзинга:

SerializableModel1 serializableModel1 = new SerializableModel1();
        SerializableModel2 serializableModel2 = new SerializableModel2();
        DataContractJsonSerializer formatter1 = new DataContractJsonSerializer(typeof(SerializableModel1));
        DataContractJsonSerializer formatter2 = new DataContractJsonSerializer(typeof(SerializableModel2));

        SerializableModel1 firstModel;
        SerializableModel2 secondModel;

        using (FileStream file = new FileStream(@"G:\task2.json", FileMode.OpenOrCreate))
        {
            formatter1.WriteObject(file, serializableModel1);
            formatter2.WriteObject(file, serializableModel2);
        }

        using (FileStream file = new FileStream(@"G:\task2.json", FileMode.OpenOrCreate))
        {
            firstModel = formatter1.ReadObject(file) as SerializableModel1;
        }

        using (FileStream file = new FileStream(@"G:\task2.json", FileMode.OpenOrCreate))
        {
            secondModel = formatter2.ReadObject(file) as SerializableModel2;
        }