"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como usar a deserivação do dicionário de JSON com teclas dinâmicas em C#

Como usar a deserivação do dicionário de JSON com teclas dinâmicas em C#

Postado em 2025-05-03
Navegar:553

How to Deserialize JSON with Dynamic Keys Using a Dictionary in C#?

manuseio flexível de deserialização JSON com teclas dinâmicas usando dicionários

No mundo JSON, encontrar cordas JSON com teclas de raiz dinâmicas e imprevisíveis pode representar desafios quando se desesteram para objetos. Aqui está como resolver esse problema usando um método de dicionário.

Por exemplo, considere a seguinte sequência json:

{
    "daily": {
        "1337990400000": 443447,
        "1338076800000": 444693,
        "1338163200000": 452282,
        "1338249600000": 462189,
        "1338336000000": 466626
    }
}

Como as chaves são dinâmicas, o uso do JavaScriptSserializer com estrutura de classe não é suficiente aqui. Uma solução mais flexível é desserializar a sequência JSON em um dicionário, o que nos permite acessar facilmente as teclas dinâmicas e seus valores correspondentes.

var deser = new JavaScriptSerializer().Deserialize>>(val);

Esta linha cria um dicionário desser, onde a chave é uma string e o valor é um dicionário com teclas de string e valores inteiros. Ele efetivamente mapeia as teclas dinâmicas em cordas JSON para dicionários intermediários.

para acessar dados específicos, podemos usar o seguinte código:

] A variável
var justDaily = deser["daily"];
foreach (tecla String em justdaily.keys) Console.WriteLine (Key ":" JustDaily [key]);

 Essa abordagem nos permite processar strings JSON com teclas de raiz dinâmicas para estruturas de dicionário e fornecer flexibilidade ao acessar dados. Mesmo que as chaves sejam imprevisíveis, é possível tirar proveito das capacidades do dicionário para desserializar facilmente o JSON. 
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3