Serializar e desserializar JSON em Delphi de Forma nativa

Aqui vamos mostrar como deserializar este JSON em delphi de forma nativa sem uso de componentes. 
Veja abaixo um exemplo de JSON.

{
  "nome": "Produto A",
  "preco": 29.99,
  "disponivel": true,
  "detalhes": [
    {
      "descricao": "Produto de alta qualidade",
      "estoque": 150
    },
    {
      "descricao": "Disponível em várias cores",
      "estoque": 75
    },
    {
      "descricao": "Inclui garantia de 2 anos",
      "estoque": 200
    }
  ]
}

Primeiro vamos precisar criar um classe com os campos que serão recebidos do JSON, perceba que detalhes é uma lista então teremos que criar um array na classe.

Nesta classe iremos precisar da uses Rest.Json.Types para poder definir o atributo JSONName, que serve para definir o nome do campo a serializar ou desserializar o JSON.

Então nossas classe ficarão assim.




Perceba o atributo acima das variáveis.

Como temos uma lista podemos criar uma procedure Add para alimentar esse array e o clear e destroy para liberar da memoria.

Veja sua implementação.



Serializar JSON

Agora para serializar vamos usar as uses Rest.Json e System.JSON

Veja na imagem abaixo que alimentamos os valores na classe e depois utilizamos o comando Json.ObjectToJsonString para serializar a classe e gerar um JSON.



Desserializar JSON

Para desserializar é muito simples veja exemplo abaixo.




Esse post lhe ajudou? deixe seu comentário.

Comentários

Postagens mais visitadas deste blog

Como fazer leitura de Arquivo CSV e XLS em Delphi

Arredondamento de valores Formato ABNT