[JsonExtensionData] позволяет сериализовать элементы документа JSON, которые не имеют свойств, совпадающих в целевом объекте, со словарем, украшенным атрибутом [JsonExtensionData].
Как создать словарь объектов, приведенных к соответствующему типу??
Например:
var json = "{\r\n \"sampleClass\":{ \"name\":\"Name\"} ,
\"sampleOtherClass\":{ \"name\":\"OtherName\"} ,\r\n \"X\": \"Jan\"\r\n}";
и
var result =JsonConvert.DeserializeObject(json);
и
public class Test
{
public string X { get; set; }
[JsonExtensionData]
public Dictionary Y { get; set; }
}
Словарь должен содержать такие элементы:
Dictionary students = new Dictionary()
{
{ "sampleClass", new ClassName { Name="MyName" } },
{ "sampleOtherClass", new SampleOtherClass { Name="MyName" } }
};
Это означает, что для узла sampleClass мы хотим создать объект SampleClass, а затем добавить словарь Y.
В настоящее время значение в DictionaryEntry представляет собой строку, например { name: "Name"
Источник:
https://dotnetfiddle.net/mhU6ME
Обновление:
Теперь я использовал приведенный ниже подход для десериализации, но когда я хочу иметь один словарь [JsonExtensionData] для десериализации/сериализации, это приводит к проблемам есть две коллекции.
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
Как десериализовать словарь [JsonExtensionData] с помощью приведения [дубликат] ⇐ C#
Место общения программистов C#
1762451504
Anonymous
[JsonExtensionData] позволяет сериализовать элементы документа JSON, которые не имеют свойств, совпадающих в целевом объекте, со словарем, украшенным атрибутом [JsonExtensionData].
Как создать словарь объектов, приведенных к соответствующему типу??
Например:
var json = "{\r\n \"sampleClass\":{ \"name\":\"Name\"} ,
\"sampleOtherClass\":{ \"name\":\"OtherName\"} ,\r\n \"X\": \"Jan\"\r\n}";
и
var result =JsonConvert.DeserializeObject(json);
и
public class Test
{
public string X { get; set; }
[JsonExtensionData]
public Dictionary Y { get; set; }
}
Словарь должен содержать такие элементы:
Dictionary students = new Dictionary()
{
{ "sampleClass", new ClassName { Name="MyName" } },
{ "sampleOtherClass", new SampleOtherClass { Name="MyName" } }
};
Это означает, что для узла sampleClass мы хотим создать объект SampleClass, а затем добавить словарь Y.
В настоящее время значение в DictionaryEntry представляет собой строку, например { name: "Name"
Источник:
https://dotnetfiddle.net/mhU6ME
[b]Обновление:[/b]
Теперь я использовал приведенный ниже подход для десериализации, но когда я хочу иметь один словарь [JsonExtensionData] для десериализации/сериализации, это приводит к проблемам есть две коллекции.
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();
}
Подробнее здесь: [url]https://stackoverflow.com/questions/53297152/how-deserialize-jsonextensiondata-dictionarystring-object-with-casting[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия