У меня возникла проблема с Json.Net.Только сериализовать некоторые специфические свойства класса?
Мое приложение подключено к базе данных и хранит в нем некоторые данные. Давайте предположим, что мое приложение имеет три различных класса: Entity, группа, организация
Короткий взгляд в класс Entity:
public class Entity
{
[JsonIgnore]
public int ID { get; private set; }
[JsonProperty]
public string UID { get; private set; }
[JsonProperty]
public Gender EntityGender { get; set; }
[JsonProperty]
public string Surname { get; set; }
[JsonProperty]
public string Forename { get; set; }
[JsonProperty]
public Group EntityGroup { get; set; }
[JsonProperty]
public Organisation EntityOrganisation { get; set; }
Организация и группы также имеют свойство ID.
При сериализации сущности я не хочу полностью сериализовать EntityGroup и EntityOrganisation, но только их идентификаторы.
Некоторые быстрый пример того, как я хотел бы, чтобы это выглядело как:
(Как это выглядит сейчас)
{
"UID": "6c5204356b3a1a33",
"Surname": "Bar",
"Forename": "Foo",
"EntityGroup": {
"Name": "XGroup",
"GroupOrganisation": {
"Name": "FooOrg"
}
},
"EntityOrganisation": null,
"EntityStation": null
}
(Как это должно выглядеть)
{
"UID": "6c5204356b3a1a33",
"Surname": "Bar",
"Forename": "Foo",
"EntityGroup": {
"ID": 1,
"GroupOrganisation": {
"ID": 1
}
},
"EntityOrganisation": null,
"EntityStation": null
}
Можно для настройки JsonParser, который только сериализует свойство ID Group и Organization при сериализации Entity?
Что вы хотите иметь с Организацией и Группой, когда вы deserialize? – tallseth
Я не буду десериализовать его напрямую. Я проанализирую его и загружу соответствующую организацию/группу из базы данных. Возможно, я сделаю это по-другому, но это моя текущая идея :) – TorbenJ
Или, может быть, я могу использовать решение nick_w, чтобы просто загрузить Организацию/Группу при десериализации. – TorbenJ