Nesse vídeo, nos vamos ver uma demostração de dados organizados em JSON
como um lembrete, JSON significa
Java Script Object Notation (Notação de Objeto em Java Script), e
isso é um padrão para escrever
dados de objetos em uma maneira legível para seres humanos, típicamente em um arquivo.
Isso é útil para transferir dados
entre programas, e geralmente
por ser um pouco flexível, isso é útil
para representar e armazenar dados que são semi-estruturados.
Um lembrete dos
contrutores básicos em JSON, nos
temos o valor atómico, como
também um inteiro, e strings, assim por diante
E então nos temos dois tipos de
coisas compostas; nos temos
objetos que são grupos de
pares de rotúlo-valor e também nos temos arrays que são lista de valores.
Na demostração, nos vamos entrar
em mais detalhes com os contrutores básicos
de JSON e nos vamos olhar em
algumas taticas de correção, nós vamos demostrar
a flexibilidade do modelo
de dados e então nos vamos
olhar rapidamente no schema de JSON.
não largamente usada ainda mas
ainda bem interessante para dar uma olhada
nos vamos olhar em alguma validação
de dados de JSON de contra a um schema em particular
Então, aqui está o dado JSON
que nós vamos trabalhar durante essa demostração
Esses são os mesmo dados que apareceram
nos slides, na introdução
para JSON, mas agora nós vamos
olhar os componentes dos dados.
Isso também é aliás, quase
o mesmo exemplo que nós
usamos para XML, só que é apenas reformatado,
é claro, para compatir com o modelo de dados do JSON
, mas você pode comparar os dois diretamente.
Por ultimo, nos temos
o arquivo para os dados
no website, e eu
sugiro que você faça download do
arquivos, para você poder
olhar diretamente no seu computador.
Oukey.
Então, vamos ver o que nós temos,
agora nós estamos em
um editor de dados de JSON
Que acontece ser o editor Eclipse
e nós vamos
fazer algumas alterações no
arquivo depois de nos olharmos
os construtores do arquivo.
Então, isso são dados de JSON
representando livros e
revistas, e nós temos
um pouco mais de informações sobre nossos livros e nossas revistas
Então, na parte externa, a
chaveta indica que isso é um objeto JSON.
COMO UM LEMBRETE, um objeto
é um grupo de pares rotulos => valores
, separados por virgulas.
Então, nosso primeiro valor é o rótulo "books". E
então nosso primeiro elemento no
objeto é o rótulo livros
e esse valor grande e o
segundo, então existe apenas dois pares rotulo-valor
aqui, e o
rotulo"magazines" e esse grande valor aqui.
E vamos olhar primeiro em "magazines".
Então "magazines, denovo, é o
rótulo e o valor que nós
podemos ver com o coxete
aqui é um array.
Um array é uma lista de
valores e aqui nos
temos dois valores no nosso array.
Eles são ainda valores compostos.
Então, nos temos dois valores, cada
um dos quais é um objeto,
um grupo de pares de rotulo-valor.
Me deixe mencionar, algumas vezes as pessoas chamam esses rótulos de 'propriedades'.
Oukey. Então, nos estamos dentro
de nossos 2 objetos que são
os dois elementos no array que o valor de magazines
E cada um desses tem
3 rotulos e 3 valores
e agora nos vamos finalmente para baixo nos valores base.
Então, nos temos o título sendo "National
Geographic", um string, o
mês sendo Janeiro, um string
e o ano 2009, aonde 2009 é um inteiro.
E denovo, nos temos
outro objeto aqui que é uma revista diferente
com um nome e meses diferentes, e o mesmo ano.
Agora, esses dois tem exatamente a
mesma estrutura mas eles não
precisam e nos vamos
ver que a medida que nos começarmos a editar o arquivo.
Mas antes de editar o arquivo,
vamos sair e olhar
nosso livros aqui.
O valor de nosso outro
par rótulo-valor dentro do
objeto externo,"book" é
também um array, e
o array nesse caso também
tem dois elementos, então nós temos representado dois "books" aqui.
Isso é um pouco mais complicado que a
revista, mas esses elementos
são ainda objetos de pares rotulo-valor.
Agora, nós temos o ISBN,
o preço, a adição, o título,
todos sendo inteiros ou strings,
e então nos temos uma composição junta
de objetos que são os autores
e aqui um array de novo.
Então, o array denovo, é indicado pelos*******
E dentros desse array, nos
temos dois autores e cada um
dos autores tem um primeiro
nome e ultimo nome
mas denovo, essa uniformidade não
é requirida pelo modelo em si mesmo, como nos vamos ver.
Então, como eu mensionei,
isso é na verdade um editor para
dados JSON e nos vamos voltar para esse editor em um momento.
Mas o que eu procurei fazer foi
mostrar os mesmos dados
em um browser por que browsers
na verdade oferecem alguns servisos legais
para navegar em JSON.
Então naqui nos estamos em
um navegador Chrome, que tem boas
ferramentas para navergar em JSON,
e outros navegadores tem também.
Nós podemos ver aqui que nos
temos um objeto no
nosso dado JSON, que consiste
de dois pares rotulo-valor;
'books' e 'magazines', que são
atualmente fexados e então
esse "mais" permite-nos abrir eles, e ver sua estrutura.
Por exemplo, nós abrimos revistas
e nós vemos que revistas e um array contendo dois objetos.
Nos podemos abrir um desses
objetos, e podemos ver que os três pares rotulo-valor.
Agora nós estamos nos níveis mais baixos e similarmente para os outros objetos.
Nos podemos ver que "Books"
é também um array, e nos vamos em frente e abrir isso.
Isso é um array de dois objetos.
Nos abrimos um desses
objetos e nós vemos de novo
o grupo de pares rotulo-valor,
aonde um dos valores
é uma junção mais aprofundada.
Isso é um array e nos abrimos
esse array, e nós vemos
dois objetos, e nos abrimos
eles e finalmente vemos os dados nos níveis mais baixos
E denovo, o navegador
aqui nos da um jeito legal
para navegar no dado JSON e nos vemos sua estrutura.
Então agora nos estamos de volta ao nosso editor JSON
Aproveitando, esse editor, Eclipse, também
tem algumas ferramentas para
abrir e fexar a estrutura
dos dados, mas isso não
é tão legal quanto o navegador que nós usamos.
Então nos decidimos usar o navegador ao contrario.
O que nós vamos
usar no editor é para
fazer algumas mudanças para os
dados JSON, e vemos quais
mudanças são legais e quais não são.
Então, vamos dar uma olhada na primeira mudança, uma bem simples.
O que se nos esquecêssemos uma virgula.
Bem, quando nos tentamos
salvar aquele arquivo, nos pegamos
uma mensagem dizendo que nos temos um
erro, que foi esperado um
valor N, então isso é um
erro bem direto, vamos por a virgula de volta.
Vamos dizer inserir uma
chave extra em algum lugar aqui, por qualquer rasão.
Nos acidentalmente colocamos em uma chave extra.
De novo nos vemos que isso é marcado como um erro
Então um erro que pode
ser bem comum para fazer é
esquecer para por quotes em volta de strings