[jsonextensionData] позволяет вам сделать, чтобы сериализовать элементы документа JSON, который не обладает соответствующими свойствами на объекте назначения с словарем, который украшен атрибутом [jsonextensionData]. Пример: < /p>
var json = "{\r\n \"sampleClass\":{ \"name\":\"Name\"} ,
\"sampleOtherClass\":{ \"name\":\"OtherName\"} ,\r\n \"X\": \"Jan\"\r\n}";
< /code>
и < /p>
var result =JsonConvert.DeserializeObject(json);
< /code>
и < /p>
public class Test
{
public string X { get; set; }
[JsonExtensionData]
public Dictionary Y { get; set; }
}
< /code>
Словарь должен содержать такие элементы: < /p>
Dictionary students = new Dictionary()
{
{ "sampleClass", new ClassName { Name="MyName" } },
{ "sampleOtherClass", new SampleOtherClass { Name="MyName" } }
};
< /code>
, что означает, что для Node Spectionslass мы хотим создать объектный sampleclass, а рядом с добавлением словаря y. < /p>
В настоящее время значение в словаре - это строка, например. {name: "name"} < /p>
Источник:
https://dotnetfiddle.net/mhu6me
обновление: < /strong> < /p>
[JsonextensionData] Словарь, чтобы десериализовать /сериализовать, он вызывает проблемы, чтобы иметь две коллекции. < /P>
public class Class1
{
public string Code { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; }
[JsonExtensionData]
public Dictionary _JTokenProperty { get; set; }
public Dictionary Properties1 { get; set; } = new Dictionary();
}
Подробнее здесь: https://stackoverflow.com/questions/532 ... th-casting
Как Deserialize [jsonextensionData] Словарь <строка, объект> с кастингом ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
DeSerialize строка JSON, которая содержит DOT (.) В имени ключа .NET [Duplicate]
Anonymous » » в форуме C# - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-
-
-
System.text.json.jsoneserializer.deserialize не десериализует объект правильно
Anonymous » » в форуме C# - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-