десериализация json в C#

Ответ на мой веб-запрос выглядит следующим образом (не под моим контролем):

{
"nasdaq_imbalance": 
{
    "name": "nasdaq_imbalance", 
    "group": "Market Data", 
    "description": null
},
"DXOpen IM": 
{
    "name": "DXOpen IM", 
    "group": "Daily",
    "description": null
}, 
"Float Shares": 
{
    "name": "Float Shares", 
    "group": "Daily", 
    "description": null
}, 

}

Каким-то образом мне нужно десериализовать это в объект С#, содержащий список объектов... В основном мне нужен список таких объектов:

public class Dataset    {
    public string name { get; set; } 
    public string group { get; set; } 
    public string description { get; set; } 
}

person Leon    schedule 14.01.2021    source источник
comment
Вы можете перейти на сайт quicktype.io и вставить туда свой json, он сгенерирует классы, нужный код и даже комментарии, чтобы рассказать вам, как его использовать   -  person Caius Jard    schedule 15.01.2021
comment
@CaiusJard, который, вероятно, не лучший дубликат для использования, учитывая, что JavaScriptSerializer устарел.   -  person David L    schedule 15.01.2021
comment
В этом проблема с C # JSON Qs. Слишком много дубликатов. острые классы"> stackoverflow.com/questions/25052293/   -  person Caius Jard    schedule 15.01.2021
comment
@CaiusJard Проблема с SO. Мне проще напечатать такой короткий ответ, чем пытаться найти дубликат и надеяться, что модератор действительно посмотрит на него, когда я его отмечу.   -  person Charlieface    schedule 15.01.2021
comment
Лучший дубликат — Как я могу проанализировать строку JSON, которая может привести к недопустимым идентификаторам C#?. Ответы там говорят: 1) Используйте словарь, если имена свойств корневого объекта не фиксированы; 2) Если имена свойств корневого объекта фиксированы, используйте корневой объект со свойствами, отмеченными атрибутами JsonPropertyAttribute, например. [JsonProperty("DXOpen IM")] public Dataset DXOpenIM { get; set; }.   -  person dbc    schedule 15.01.2021


Ответы (1)


Если вы используете Json.NET, вы можете использовать JsonConvert.DeserializeObject<Dictionary<string, Dataset>>(json), а ключи словаря будут nasdaq_imbalance, DXOpen IM, Float Shares

person Charlieface    schedule 14.01.2021
comment
Я попробую в ближайшее время, пока это самое многообещающее решение, опубликованное здесь... Кстати, я искал здесь от А до Я и не смог найти подобную структуру, так как это своего рода псевдо-джейсон. - person Leon; 15.01.2021
comment
Прекрасно мыслящий Чарлифейс! Из Словаря я могу легко составить список... - person Leon; 15.01.2021