C # JSON como ler um valor específico com nome pai desconhecido

Orko

eu quero ler o "datum" de data desta string json em uma lista de DateTime:

{
  "Neujahrstag": {
    "datum": "2016-01-01",
    "hinweis": ""
  },
  "Karfreitag": {
    "datum": "2016-03-25",
    "hinweis": ""
  },
  "Ostermontag": {
    "datum": "2016-03-28",
    "hinweis": ""
  },
  "Tag der Arbeit": {
    "datum": "2016-05-01",
    "hinweis": ""
  },
  "Christi Himmelfahrt": {
    "datum": "2016-05-05",
    "hinweis": ""
  },
  "Pfingstmontag": {
    "datum": "2016-05-16",
    "hinweis": ""
  },
  "Tag der Deutschen Einheit": {
    "datum": "2016-10-03",
    "hinweis": ""
  },
  "Reformationstag": {
    "datum": "2016-10-31",
    "hinweis": ""
  },
  "1. Weihnachtstag": {
    "datum": "2016-12-25",
    "hinweis": ""
  },
  "2. Weihnachtstag": {
    "datum": "2016-12-26",
    "hinweis": ""
  }
}

Não tenho ideia de como fazer isso.

Eu uso o seguinte código para obter a string json e analisá-la, mas não tenho ideia de como obter uma lista ou matriz.

using (WebClient wc = new WebClient())
            {
                var json = wc.DownloadString("https://feiertage-api.de/api/?jahr=2020&nur_land=MV");

                JObject result = JObject.Parse(json);

                MessageBox.Show(DateTime.ParseExact(result.First.First.First.First.ToString(), "yyyy-MM-dd", CultureInfo.InvariantCulture).ToString());
            }

Existe uma maneira fácil de fazer isso ou eu tenho que escrever um desserializador de fantasias para esse tipo de json?

RoadRunner

Uma maneira fácil seria criar uma classe para seus objetos internos:

public class Data
{
    public DateTime Datum { get; set; }
    public string HinWeis { get; set; }
}

Em seguida, use Json.NET para desserializar seu JSON em um Dictionary<string, Data>e buscar cada um Datumdos valores:

using (WebClient wc = new WebClient())
{
    var json = wc.DownloadString("https://feiertage-api.de/api/?jahr=2020&nur_land=MV");

    var result = JsonConvert.DeserializeObject<Dictionary<string, Data>>(json);

    foreach (var kvp in result)
    {
        Console.WriteLine(kvp.Value.Datum.ToString("yyyy-MM-dd"));
    }
}

Resultado:

2020-01-01
2020-04-10
2020-04-13
2020-05-01
2020-05-21
2020-06-01
2020-10-03
2020-10-31
2020-12-25
2020-12-26

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

C # JSON como ler um valor específico com nome pai desconhecido

Como observar todas as pastas de um nome específico em um diretório pai com FileSystemWatcher?

Como renomear um arquivo com um nome "desconhecido" em C ++?

Como encontro um valor JSON com um ID específico?

Como obter um valor json específico com regex

Acesse o elemento JSON com nome pai desconhecido

Acesse o elemento JSON com nome pai desconhecido

Como ler o valor de um elemento específico de json usando Python?

Como ler um valor específico ("texto") do seguinte arquivo JSON usando Python 2.7?

Como encontrar um elemento com um pai específico?

Como ler um valor específico no arquivo PLIST no terminal

Como acessar uma aula com um pai específico

como ler um valor específico de json em um arquivo arquivado. Usando javascript e jszip

Como obter um valor específico de json com tags semelhantes com T-SQL

Como desserializar um Json com um pai em c #

Como posso ler um valor específico c++ usando um arquivo de texto para armazenar na estrutura de dados

Como obter um pai específico de um caminho por seu nome?

Como encontrar um controle com um nome específico em uma interface do usuário XAML com código C #?

Atribuindo o nome da coluna como valor da célula se a coluna contiver um valor específico

Atribuindo o nome da coluna como valor da célula se a coluna contiver um valor específico

Como ler dll de um caminho específico em C #

Como obter um valor específico da API json com python

Como obter apenas o nome do diretório pai de um arquivo específico

Como ler um objeto JSON com um ponto final no nome usando POSTMAN?

Como obter um valor específico de um objeto JSON

Como comparar cada célula em uma coluna com um valor específico em pandas?

Como inserir o carimbo de nome de usuário quando uma célula possui um valor específico?

Como classificar por um valor específico com localeCompare?

Como obter índices de um tapete com valor específico?

TOP lista

quentelabel

Arquivo