Como analisar JSON em Ruby

Como analisar JSON em Ruby
JavaScript Object Notation, ou JSON para curta, é um formato de troca de dados simples e incrivelmente leve. JSON é fácil de escrever e ler para máquinas e humanos.

O JSON está em toda parte e é usado para transferir dados estruturados pela rede com um aplicativo importante em APIs.

Este guia rápido superará como usar e analisar dados JSON usando a linguagem de programação Ruby.

O que está analisando?

A análise é o processo de quebrar um componente, como uma sequência de dados, em vários componentes independentes que são utilizáveis ​​individualmente.

Como obter dados JSON

Antes de discutirmos como analisar JSON em Ruby, é bom garantir que tenhamos um arquivo json para trabalhar.

Se você não tiver um arquivo JSON para trabalhar, pode usar os geradores ou consultas JSON on -line de uma API público popular.

Instalação

Para analisar o JSON com Ruby, precisamos instalar o pacote JSON usando o Gem Package Manager. Podemos fazer isso usando o comando:

Gem Install JSON

Para verificar se a instalação é bem -sucedida, abra o IRB e execute o código:

requer 'json'

A execução deste comando deve retornar true se você tiver o pacote instalado com sucesso:

IRB (principal): 001: 0> Requer 'JSON'
=> true

Como ler o arquivo JSON

O próximo passo é ler os dados JSON. Para isso, usamos o arquivo.Leia o método, conforme mostrado no código de exemplo abaixo:

requer 'json'
raw_data = arquivo.Leia ('NASA.JSON ')

Substitua a NASA.arquivo json com o nome de arquivo real do arquivo json que você deseja analisar.

Como analisar dados JSON

Depois de carregar o arquivo, podemos analisar os dados JSON usando o JSON.Método de Parse. Este método criará um hash rubi com as chaves JSON.

Por exemplo:

requer 'json'
raw_data = arquivo.Leia ('NASA.JSON ')
nasa_datahash = json.parse (raw_data)

Uma vez carregado, podemos continuar trabalhando com os dados como um hash rubi comum.

Por exemplo, para obter as chaves, podemos fazer:

requer 'json'
raw_data = arquivo.Leia ('NASA.JSON ')
nasa_datahash = json.parse (raw_data)
coloca NASA_DataHash.chaves

Você também pode obter os valores armazenados nos dados JSON usando o .Método de valores.

Escreva para JSON

Suponha que queremos escrever para um arquivo json. Começamos lendo o arquivo json e criando um hash rubi. Depois disso, podemos modificar os valores e depois escrevê -los em um arquivo json.

Vamos dar um exemplo de arquivo json com os valores como mostrado:


"Nome": "John Doe",
"Idade": 30,
"Role": "Programador Python",
"Grupo": "AX-100"

Podemos começar lendo o arquivo como:

requer 'json'
arquivo = arquivo.Leia (“Usuário.json ”)

Depois de carregar o arquivo, podemos analisar as informações JSON usando o JSON.analisar o método como:

user_info = json.parse (arquivo);

Depois de termos o arquivo analisado em um hash de rubi, podemos usar métodos internos para manipular os valores.

Vamos começar buscando as chaves:

coloca user_info.chaves

Isso deve imprimir as teclas de hash que são basicamente as teclas JSON. Cada valor é mapeado para seu respectivo valor.

$ ruby ​​json.rb
nome
idade
papel
grupo

O próximo passo é adicionar modificações à chave existente. Podemos simplesmente usar o método de mesclagem como:

informação de usuário.mesclar!("País": "Estados Unidos")

Depois de fazer todas as alterações no Hash Ruby e desejar escrever as alterações de volta ao arquivo JSON, podemos usar o método de gravação e despejar o conteúdo do hash no formato JSON, como mostrado no código abaixo.

Arquivo.Write ("Usuário.JSON ", JSON.despejo (user_info))

Depois de concluído, as alterações serão anexadas ao arquivo especificado.


"Nome": "John Doe",
"Idade": 30,
"Role": "Programador Python",
"Grupo": "AX-100",
"País": "Estados Unidos"

Convertendo hash em json

Se você tem um hash rubi bruto, pode gerar dados JSON usando o método de geração. Considere o exemplo abaixo:

requer 'json'
this_hash = : name => "John Doe" ,: idade => 30 ,: função => "Programador Python" ,: Grupo => "AX-100" ,: country => "Estados Unidos"
Jsonified = JSON.gerar (this_hash)
coloca Jsonificado

O exposto acima deve criar dados JSON com as chaves e valores correspondentes às chaves e valores do hash.

Para saber mais sobre como trabalhar com Ruby Hashes, considere nosso tutorial sobre o tópico.

Conclusão

Como mostrado neste tutorial, analisar os dados JSON é incrivelmente simples em Ruby. Considere a documentação para saber mais.