none
Deserialização JSON - Windows Forms RRS feed

  • Pergunta

  • Olá à Todos,

    Quando realizo uma deserialização do meu JSON, recebo retorno null, ele não consegue "pegar" o ID_CLIENTE.

                string json = "{\"result\":[[{\"ID_CLIENTE\":\"2\"}]]}";
    
                Class1 t = JsonConvert.DeserializeObject<Class1>(json);
    
                string result = t.ID_CLIENTE;
    
                MessageBox.Show(result);

    segunda-feira, 28 de setembro de 2015 13:52

Respostas

  • Eu nao sei o que contem na class1, mas usando o json2csharp (link) eu obtenho essa classe:

    public class RootObject
    {
        public List<List<>> result { get; set; }
    }

    o json é realmente este?

    {"result":[[{"ID_CLIENTE":"2"}]]}


    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    • Marcado como Resposta Yannick Freitas segunda-feira, 28 de setembro de 2015 16:19
    segunda-feira, 28 de setembro de 2015 14:04
    Moderador
  • Seu delphi esta enviando uma lista de uma lista... Ou voce se adapta ao retorno ou voce pede que altere o envio.

    Atualmente seu json sera deserializado deste jeito:

     public List<List<>> result { get; set; }

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    • Marcado como Resposta Yannick Freitas segunda-feira, 28 de setembro de 2015 16:21
    segunda-feira, 28 de setembro de 2015 14:51
    Moderador

Todas as Respostas

  • Eu nao sei o que contem na class1, mas usando o json2csharp (link) eu obtenho essa classe:

    public class RootObject
    {
        public List<List<>> result { get; set; }
    }

    o json é realmente este?

    {"result":[[{"ID_CLIENTE":"2"}]]}


    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    • Marcado como Resposta Yannick Freitas segunda-feira, 28 de setembro de 2015 16:19
    segunda-feira, 28 de setembro de 2015 14:04
    Moderador
  • Class1
        class Class1
        {
            public string ID_CLIENTE{ get; set; }
        }
    O retorno do json é isso mesmo. 
    segunda-feira, 28 de setembro de 2015 14:09
  • Mude seu json para: "{\"result\":{\"ID_CLIENTE\":\"2\"}}"

    Quando você coloca entre colchetes "[]", significa que é uma lista.

    E o resultado é o que o William disse na outra resposta.

    public class RootObject
    {
        public List<List<>> result { get; set; }
    }


    segunda-feira, 28 de setembro de 2015 14:27
  • Ele é gerado por um componente de uma aplicação em Delphi, eu vou consumir em C#
    segunda-feira, 28 de setembro de 2015 14:30
  • Seu delphi esta enviando uma lista de uma lista... Ou voce se adapta ao retorno ou voce pede que altere o envio.

    Atualmente seu json sera deserializado deste jeito:

     public List<List<>> result { get; set; }

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    • Marcado como Resposta Yannick Freitas segunda-feira, 28 de setembro de 2015 16:21
    segunda-feira, 28 de setembro de 2015 14:51
    Moderador