У меня есть структура объектов, которые я сериализую в JSON, и есть один путь, который может иметь циклические ссылки. Эту проблему можно решить с помощью PreserveReferencesHandling.Objects
, но, к сожалению, это создает другую проблему, поскольку добавляет $id
свойства ко всем объектам. Я не хочу загромождать сериализованные данные, так как они должны быть удобочитаемы и редактируемы человеком. Итак, вопрос, можно ли как-то заставить его добавлять $id
только к тем объектам, которые действительно включены в эталонные циклы?
Как выборочно использовать PreserveReferencesHandling.Objects?
12.05.2021
- Чтобы сериализовать только свойства
$id
для объектов, которые участвуют в циклах ссылок, необходимо было бы сделать начальный проход через граф сериализации, чтобы идентифицировать все такие объекты, но Json.NET — это однопроходный сериализатор, так что это не так. т легко сделать. 12.05.2021 - Вы можете ограничить свойства
#id
определенными типами, если это поможет, см., например. Newtonsoft.Json.JsonSerializationException "Обнаружен цикл самоссылки" в коде библиотеки или Отключить JSON.Net PreserveReferencesHandling для одного внешнего типа. 12.05.2021 - @dbc Я могу выполнить обнаружение циклов перед сериализацией, но в этом случае необходимо каким-то образом использовать эту информацию в Json.NET, чтобы добавлять идентификаторы только там, где это необходимо. 12.05.2021
Новые материалы
Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..
Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом
Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..
Советы по коду Laravel #2
1-) Найти
// You can specify the columns you need
// in when you use the find method on a model
User::find(‘id’, [‘email’,’name’]);
// You can increment or decrement
// a field in..
Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv)
Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..
3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации —
2. Используя квадратичную формулу —
3. Заполнив квадрат —
Давайте поймем это, решив это простое уравнение:
Мы пытаемся сделать LHS,..
Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..
Демистификация рекурсии
КОДЕКС
Демистификация рекурсии
Упрощенная концепция ошеломляющей
О чем весь этот шум?
Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..