https://forum.itvdn.com/t/expecting-element-root-from-namespace-encountered-none-with-name-namespace/2889 - вот в этом посте как раз уже обсуждалась тема разбора ошибки как раз таки сериализации json, так что как вариант можете глянуть на пример кода самой сериализации:
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);
}
Модель при сериализации json должна быть помечена специфическими атрибутами:
using System.Runtime.Serialization;
namespace Task2
{
[DataContract]
public class SerializableModel1
{
[DataMember(Name = "first array")]
public int[] array1;
public SerializableModel1()
{
array1 = new int[] { 12, 14, 10, 1, 5, 2, 6, 4, 9, 7, 2, 4, 7, 4, 9, 6, 2, 8, 1, 8 };
}
}
[DataContract]
public class SerializableModel2
{
[DataMember(Name = "second array")]
public int[] array2;
public SerializableModel2()
{
array2 = new int[] { 10, 50, 20, 60, 5, 90, 70, 2, 4, 70, 64, 90, 23, 0, 8, 56, 128 };
}
}
}