Usando o JSON Gem no Ruby

É fácil pular para analisar e gerar JSON em Ruby com o json gema. Ele fornece uma API para analisar JSON a partir de texto, além de gerar texto JSON a partir de objetos Ruby arbitrários. É facilmente a biblioteca JSON mais usada em Ruby.

Instalando o JSON Gem

No Ruby 1.8.7, você precisará instalar uma jóia. No entanto, no Ruby 1.9.2, o json gem é fornecido com a distribuição principal do Ruby. Portanto, se você estiver usando o 1.9.2, provavelmente está tudo pronto. Se você estiver no 1.8.7, precisará instalar uma jóia.

Antes de instalar a gema JSON, primeiro perceba que esta gema é distribuída em duas variantes. Simplesmente instalando esta gema com json instalar json instalará a variante da extensão C. Isso requer uma Compilador C instalar e pode não estar disponível ou apropriado em todos os sistemas. Embora se você pode instalar esta versão, você deve.

Se você não conseguir instalar a versão da extensão C, deverá gem install json_pure em vez de. Esta é a mesma gema implementada em Ruby puro. Ele deve ser executado em qualquer lugar em que o código Ruby seja executado, em todas as plataformas e em uma variedade de intérpretes. No entanto, é consideravelmente mais lento que a versão da extensão C.

instagram viewer

Uma vez instalado, existem algumas maneiras de exigir essa gema. UMA exigir 'json' (após um pré-requisito exigem 'rubygems' se necessário) exigirá a variante disponível e preferirá a variante da extensão C se ambas estiverem instaladas. UMA requer 'json / pure' exigirá explicitamente a variante pura e um requer 'json / ext' exigirá explicitamente a variante da extensão C.

Analisando JSON

Antes de começarmos, vamos definir um JSON simples para analisar. O JSON é normalmente gerado por aplicativos da Web e pode ser bastante assustador, com hierarquias profundas que são difíceis de navegar. Vamos começar com algo simples. O nível superior deste documento é um hash, as duas primeiras chaves contêm cadeias de caracteres e as duas últimas chaves contêm matrizes de cadeias.

Portanto, analisar isso é bastante simples. Supondo que esse JSON esteja armazenado em um arquivo chamado employee.json, você pode analisar isso em um objeto Ruby como esse.

E a saída deste programa. Observe que se você estiver executando este programa no Ruby 1.8.7, a ordem em que as chaves são recuperadas do hash não é necessariamente a mesma ordem em que foram inseridas. Portanto, sua saída pode parecer fora de ordem.

o empls o próprio objeto é apenas um hash. Nada de especial nisso. Possui 4 chaves, assim como o documento JSON. Duas das chaves são cadeias e duas são matrizes de cadeias. Sem surpresas, o JSON foi fielmente transcrito em objetos Ruby para sua leitura.

E é tudo o que você precisa saber sobre a análise de JSON. Existem alguns problemas que surgem, mas esses serão abordados em um artigo posterior. Para quase todos os casos, basta ler um documento JSON de um arquivo ou por HTTP e alimentá-lo para JSON.parse.

instagram story viewer