Como desserializar um Json com um pai em c #

Fran Pino

Estou com um problema que não consigo resolver. Eu preciso desserializar um Json. Com um Json sem pais funciona sem problemas mas com os "itens" pais não funciona, minha classe é a seguinte:

public partial class Root<T>
{
    [JsonProperty("items")]
    public T Items { get; set; }
}

public partial class Item
{
    [JsonProperty("nombre")]
    public string Nombre { get; set; }

    [JsonProperty("ape")]
    public string Ape { get; set; }

    [JsonProperty("email")]
    public string Email { get; set; }

    [JsonProperty("pass")]
    public string Pass { get; set; }

    [JsonProperty("foto")]
    public string Foto { get; set; }
}

A api que retorna um json desse tipo:

{"items":
[{
"id":"9",
"nombre":"Fran",
"ape":"",
"email":"[email protected]",
"pass":"example2022",
"foto":"namePhoto.jpeg"
}]
}

e meu método sempre retorna um null e não consigo achar a solução, alguém sabe o que pode estar acontecendo:

public async Task EmailApiGet(string pass)
{
    var request = new HttpRequestMessage();
    request.RequestUri = new System.Uri("https://app.adress.com/movil/rest/index.php?email=" + Email.Value);
    request.Method = HttpMethod.Get;
    request.Headers.Add("Accept", "application/json");
    var client = new HttpClient();
    HttpResponseMessage response = await client.SendAsync(request);
   
    if (response.StatusCode == System.Net.HttpStatusCode.OK)
    {
                      
    string json = await response.Content.ReadAsStringAsync();
    
    Root<Item>  name =  JsonConvert.DeserializeObject<Root<Item>>(json); //Test 
       
    Console.WriteLine(name.Items.Nombre); 
       
    }            
}

O response.Content.ReadAsStringAsync();lê o Json ok, mas na próxima linha o Deserialize me retorna NULL .

Fran Pino

Corrigido graças ao colega GSerg. Mudei minha classe para:

 public partial class Root
{
    [JsonProperty("items")]
    public Item[] Items { get; set; }
}

public partial class Item
{
    [JsonProperty("id")]
    [JsonConverter(typeof(ParseStringConverter))]
    public long Id { get; set; }

    [JsonProperty("nombre")]
    public string Nombre { get; set; }

    [JsonProperty("ape")]
    public string Ape { get; set; }

    [JsonProperty("email")]
    public string Email { get; set; }

    [JsonProperty("pass")]
    public string Pass { get; set; }

    [JsonProperty("foto")]
    public string Foto { get; set; }
}

e meu método para:

 public async Task EmailApiGet(string pass)
    {
        var request = new HttpRequestMessage();
        request.RequestUri = new System.Uri("https://app.example.com/example/rest/index.php?email=" + Email.Value);
        request.Method = HttpMethod.Get;
        request.Headers.Add("Accept", "application/json");
        var client = new HttpClient();
        HttpResponseMessage response = await client.SendAsync(request);
       
        if (response.StatusCode == System.Net.HttpStatusCode.OK)
        {
                          
        string json = await response.Content.ReadAsStringAsync();
        
        Root name =  JsonConvert.DeserializeObject<Root>(json); //Deserializo el json para quedarme sólo con el pass
            foreach(var i in name.Items)
            {
                if (pass == i.Pass)
                {
                    Console.Write("Contraseña CORRECTA");
                    displayNotication("Correcto");
                }
                else
                {
                    Console.Write("Contraseña INCORRECTA");
                    displayNotication("Incorrecto");
                }
            }

            
           
        }            
    }

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

Como posso desserializar um Json simples com colchetes em c #?

Como desserializar JSON com atributo filho em UM objeto em C #

Como faço para desserializar um json com matriz aninhada em c # usando Newtonsoft.Json

Como desserializar um XML com atributos em C #

Desserializar Json em um objeto C #

Como desserializar um JSON com array de strings usando a classe "System.Runtime.Serialization.Json" em C #?

Como desserializar um JSON com array de strings usando a classe "System.Runtime.Serialization.Json" em C #?

Como desserializar um objeto Json com um aplicativo Android

Como desserializar um objeto json aninhado em um tipo primitivo com base em um dos campos do objeto aninhado

como desserializar um json personalizado para um objeto c #

Como desserializar um JSON grande com várias tags, recebidas em uma chamada de API

Como faço para desserializar JSON em um List <SomeType> com Kotlin + Jackson

Como faço para desserializar JSON em um List <SomeType> com Kotlin + Jackson

Como desserializar Json com uma matriz aninhada de objetos em um aplicativo Spring Boot simples

Como desserializar um Json Doc mais complexo em Vb.net com Newtonsoft

Como desserializar um objeto JSON?

Como desserializar JSON contendo uma matriz de objetos com um único nome de propriedade e valor cada em um modelo c #?

Como desserializar um objeto JSON no par Kotlin com Jackson?

Como desserializar um objeto JSON no par Kotlin com Jackson?

Como desserializar JSON em uma estrutura plana semelhante a um mapa?

Como desserializar um json em .net core 3.0

json.net desserializar um objeto json em c #

Como vincular uma determinada propriedade ao desserializar um objeto JSON em c # Web Api?

Como desserializar apenas parte de um arquivo Json em uma classe c #

Como desserializar um json separado por complexo ("Coluna" / "Dados") em um objeto c # usando json.net

Como desserializar um arquivo binário C # serializado em Python?

Como serializar / desserializar xml em um objeto C #?

Como desserializar JSON em C #

Tentando desserializar um arquivo json complexo em c #

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  3. 3

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  4. 4

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  5. 5

    Gerenciar recurso shake de Windows Aero com barra de título personalizado

  6. 6

    Como obter dados API adequados para o aplicativo angular?

  7. 7

    UITextView não está exibindo texto longo

  8. 8

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  9. 9

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  10. 10

    Usando o plug-in Platform.js do Google

  11. 11

    Como posso modificar esse algoritmo de linha de visada para aceitar raios que passam pelos cantos?

  12. 12

    Dependência circular de diálogo personalizado

  13. 13

    Coloque uma caixa de texto HTML em uma imagem em uma posição fixa para site para desktop e celular

  14. 14

    iOS: como adicionar sombra projetada e sombra de traço no UIView?

  15. 15

    Como usar a caixa de diálogo de seleção de nomes com VBA para enviar e-mail para mais de um destinatário?

  16. 16

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  17. 17

    How to create dynamic navigation menu select from database using Codeigniter?

  18. 18

    Converter valores de linha SQL em colunas

  19. 19

    ChartJS, várias linhas no rótulo do gráfico de barras

  20. 20

    用@StyleableRes注释的getStyledAttributes。禁止警告

  21. 21

    não é possível adicionar dependência para com.google.android.gms.tasks.OnSuccessListener

quentelabel

Arquivo