Я новичок в этом. Не могли бы вы объяснить мне, почему «Циркулярное отступление» - это плохо, какой плохой результат он может вызвать?Почему нам нужно предотвращать ссылки на Circular Object
0
A
ответ
1
Если бы сериализуете в формате JSON, то вы получите бесконечное JSON-документ, так как в то время Serializer сериализует CTest
объект в JSON, и он достигает Other
свойство это свойство ссылается сам по себе и сериализатору начинается с сериализации этот объект. И вот один.
public class CTest
{
public CTest Other { get; set; }
public string Description { get; set; }
}
[Test]
public void Circulartest()
{
CTest instance = new CTest();
instance.Description = "Hello";
instance.Other = instance;
JsonConvert.SerializeObject(instance);
}
Это приведет следующий файл JSON
{
"Description": "Hello"
"Other":
{
"Description": "Hello"
"Other":
{
"Description": "Hello"
"Other":
{
"Description": "Hello"
"Other":
{
....never ending story
}
}
}
}
}
+0
большое спасибо. Я понял. – user3033715
Смежные вопросы
- 1. Почему нам нужно np.squeeze()?
- 2. Почему нам нужно Downcasting действительно?
- 3. Почему нам нужно переопределить terminate()?
- 4. Почему нам нужно использовать prompt.start()?
- 5. Почему нам нужно избегать CSS?
- 6. ПОЧЕМУ нам нужно вызвать control.invoke?
- 7. Почему нам нужно неявное Application
- 8. mongodb Почему нам нужно getSisterDB
- 9. JSON Circular Object Type Reviver
- 10. Почему нам нужно переопределить hashCode и равно?
- 11. Когда нам нужно самосоединиться?
- 12. Зачем нам нужно targetNamespace?
- 13. MySQL Connector net Почему нам это нужно?
- 14. Почему нам нужно управление connetion-time-out
- 15. Почему нам нужно добавить следующие CSS на каждую страницу?
- 16. Почему нам нужно поставить пробел до% c?
- 17. Почему нам нужно распределение памяти в компиляторе
- 18. Swig - почему нам нужно декларировать функции дважды?
- 19. Почему нам нужно вызвать UpdateWindow после ShowWindow?
- 20. Почему нам нужно переопределить инициализатор назначенных суперклассов
- 21. Почему нам нужно изменить текущий каталог?
- 22. Почему нам нужно левое и правое соединение
- 23. Почему нам нужно использовать метод jQuery «.contents»?
- 24. Почему нам нужно использовать метод AsEnumerable()?
- 25. Почему нам нужно преобразовать InputStream в ByteArrayOutputStream?
- 26. Почему нам нужно определить конструкторы в JavaScript
- 27. Почему нам нужно рабочее пространство в eclipse?
- 28. Почему нам нужно переопределять методы - объективный c?
- 29. Почему нам нужно держать размер кэша небольшим?
- 30. Python zip - Почему нам нужно распаковать аргумент?
Возможно, поиск Google будет более подходящим? – efischency