public void CanConvertPlainList() { var list = new AList() { 1, 2, 3, 4, 5 }; var str = _serializer.Serialize(list); // var strWithType = _serializer.Serialize(obj, new SerializerSettings() { SerializationTypeHandle = SerializationTypeHandle.All }); Console.WriteLine(str); // Console.WriteLine(strWithType); Assert.AreEqual("[1,2,3,4,5]", str); // Assert.AreEqual("{\"$type\":\"SFJsonTests.ObjectWithList, SFJsonTests\",\"List\":{\"$type\":\"System.Collections.Generic.List`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib\",\"$values\":[1,2,3,4,5]}}", strWithType); var strDeserialized = _deserializer.Deserialize <AList>(str); Assert.NotNull(strDeserialized); Assert.IsInstanceOf <AList>(strDeserialized); Assert.AreEqual(list.Count, strDeserialized.Count); for (int i = 0; i < strDeserialized.Count(); i++) { Assert.AreEqual(list.ElementAt(i), strDeserialized.ElementAt(i)); } // var strWithTypeDeserialized = _deserializer.Deserialize<ObjectWithList>(strWithType); // Assert.NotNull(strWithTypeDeserialized); // Assert.IsInstanceOf<ObjectWithList>(strWithTypeDeserialized); // Assert.AreEqual(list.Count, strDeserialized.Count); // for(int i = 0; i < strWithTypeDeserialized.List.Count(); i++) // { // Assert.AreEqual(obj.List.ElementAt(i), strWithTypeDeserialized.List.ElementAt(i)); // } }