Visual Studio - Criando Classes automaticamente a partir de JSON ou XML |
Você sabia que pode criar classes de forma automática a partir de arquivos JSON ou XML no Visual Studio ? |
JSON lembra XML :
JSON é texto simples
JSON é "auto-descritivo" (legível)
JSON é hierárquico (valores dentro de valores)
JSON pode ser analisado pelo JavaScript
JSON os dados podem ser transportadas usando AJAX
mas é diferente da XML:
Não utiliza a tag de fechamento
É mais curto e simples
É mais rápido de ler e escrever
Pode ser analisado usando a função eval() do JavaScript
Utiliza matrizes
Não possui palavras reservadas
Possui parser nas principais linguagens e navegadores
Gerar classes a partir de objetos JSON o objetos XML é uma tarefa, vamos dizer assim, quase que obrigatória quando você precisa mapear dados de objetos, e, existe muito código pronto que faz isso ou você mesmo pode criar a sua rotina.
Como desenvolvedor .NET, se você utiliza o Visual Studio no dia a dia, vai gostar de ouvir que você pode realizar essa tarefa de forma automática diretamente no Visual Studio através das opções : Paste JSON as classes e Paste XML as classes no menu Edit.
Então vamos supor que você tenha o arquivo JSON abaixo e precisa gerar uma classe a partir desse arquivo:
{
"id": 1,
"nome": "Produto1",
"preco": 12.50,
"categoria": ["categoria1", "categoria2"]
} |
Basta selecionar o arquivo e copiar, e, a seguir no Visual Studio abrir o menu Edit e clicar em Paste Special -> Paste JSON As Classes
public class Rootobject
{
public int id { get; set; }
public string nome { get; set; }
public float preco { get; set; }
public string[] categoria { get; set; }
}
|
A classe será gerada no local desejado conforme mostra a figura acima.
Da mesma forma vamos partir agora de um arquivo XML , veja abaixo, e gerar a sua classe:
<livro id="1">
<autor>Autor do Livro</autor>
<titulo>Titulo do Livro</titulo>
</livro> |
Selecione o arquivo e copie. A seguir no menu Edit do Visual Studio clique em Paste XML As Classes :
/// <remarks/> [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)] [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)] public partial class livro { private string autorField; private string tituloField; private byte idField; /// <remarks/> public string autor { get { return this.autorField; } set { this.autorField = value; } } /// <remarks/> public string titulo { get { return this.tituloField; } set { this.tituloField = value; } } /// <remarks/> [System.Xml.Serialization.XmlAttributeAttribute()] public byte id { get { return this.idField; } set { this.idField = value; } } } |
O resultado é mais verboso mas a classe é gerada conforme mostrado acima.
Ponto para o Visual Studio.
Disseram-lhe, pois: Onde está teu Pai?
Jesus respondeu: Não me conheceis a mim, nem a meu Pai; se vós me conhecêsseis a
mim, também conheceríeis a meu Pai.
João 8:19
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
C# - Compreendendo as palavras chaves Constantes ... - Macoratti.net
C# - Usando os novos recursos da linguagem na prática - Macoratti.net
C# - A linguagem do futuro ? O Projeto Mono. - Macoratti.net