Страницы

Поиск по вопросам

пятница, 28 июня 2019 г.

Нестандартная сериализация/десериализация при помощи newtonsoft json

Есть следующие классы:
public sealed class User { public int Id { get; set; } public Schema Extensions { get; set; } }
public sealed class UserProperty { public string Id { get; set; } public object Value { get; set; } }
public sealed class Schema { public string Name { get; set; } public List Properties { get; set; } }
Задается вот так:
var user = new User { Id = 1, Extensions = new Schema { Name = "urn:scim:schemas:custom:1.0", Properties = new List { new UserProperty { Id = "A", Value = 1} }
} };
Необходимо получить json следующего вида:
{ "Id": 1, "urn:scim:schemas:custom:1.0": { "A": 1 } }
Как это можно сделать при помощи библиотеки newtonsoft? И соответственно потом десериализовать в структуры, описанные выше?


Ответ

Вам нужен JsonExtensionDataAttribute. Но тут есть ограничение - насколько я понимаю, он может быть только типа, реализующего IDictionary

Комментариев нет:

Отправить комментарий