Как Deserialize [jsonextensionData] Словарь <строка, объект> с кастингомC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как Deserialize [jsonextensionData] Словарь <строка, объект> с кастингом

Сообщение Anonymous »

[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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Джексон Deserialize's Jackson Boot's Deserialize при входе с [
    Anonymous » » в форуме JAVA
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Spring - проблема с кастингом Список типизированных списков
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как я могу проверить тип перед кастингом с помощью Pydantic?
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • DeSerialize строка JSON, которая содержит DOT (.) В имени ключа .NET [Duplicate]
    Anonymous » » в форуме C#
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • System.text.json.jsoneserializer.deserialize не десериализует объект правильно
    Anonymous » » в форуме C#
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»