Descobertas

Diretamente do cotidiano de um programador

JSON Parser

leave a comment »

Estamos usando JSON meu novo trabalho na Superficie para fazer a comunicacão entre plugins do SketchUp e uma aplicacao escrita em Rails. Acontece que a versao do Ruby do SketchUp é a 1.8.5 e, além disso, não possui nenhuma biblioteca padrão, o que torna algumas coisas como parsear strings JSON um pouco mais complicadas do que em uma instalacão do Ruby padrão. Procurei uma solucão para isso nos forums de desenvolvimento de plugin para o SketchUp, mas parece que até hoje ninguém tinha compartilhado uma gem para interpretacão e geracão de JSON a partir de objetos Ruby no ambiente limitado do SketchUp. Resolvi então portar o classico parser recursivo descentente do Douglas Crockford para Ruby.

Escrevi testes com o Rspec, me baseando nos testes do Ruby Quiz #155 e fui portando do algoritmo aos poucos, me certificando que os testes passavam na medida em que ele ia sendo totalmente implementado. Já estamos usando o parser há algum tempo e até hoje não deu nenhum problema. A única limitacão mais grave é que ele não sabe lidar muito bem com alguns casos de JSON inválido, mas isso não é um problema grande nos casos em que ele é usado na Superficie, porque todo JSON interpretado por ele é gerado pelo Rails.

Segue o link para baixar a gem no RubyGems: http://rubygems.org/gems/sketchup_json

Written by Dalto

agosto 13, 2010 às 11:32 am

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: