2010-03-24 22 views
6

Necesito una biblioteca para manejar objetos JSON en Ruby. Hay dos gemas disponibles json y json_pure en http://rubygems.org/search?query=json¿Cuál es la diferencia entre 'joya JSON" y 'joya json_pure'?

json_pure sólo se escribe en Ruby, mientras json está usando C. Todo lo que entiendo es que json es más rápido debido a la utilización de C. Así que es mejor para la producción json?

Ambos parecen ser fácilmente instalado sólo con la ejecución de comandos gem install. Cuando instalo Nokogiri, necesito hacer algo extra. Pensé que el trabajo adicional es necesario porque Nokogiri está usando extensiones C, pero no necesito hacer nada extra para la gema json.

  • ventajas y desventajas ¿Qué hay para json y json_pure?
  • Suponiendo que la instalación de json es fácil, ¿cuál es el beneficio de json_pure?

Respuesta

7

Nokogiri necesita bibliotecas adicionales porque usa libXML. json no tiene dependencias de biblioteca, por lo que no necesita nada adicional.

La ventaja de json es lo que dijiste: Está en C, por lo que el rendimiento es mejor que json_pure.

La ventaja de json_pure puede ser si no tiene MRI. Por ejemplo, la gema json_pure se puede instalar en JRuby/Maglev u otras implementaciones. La gema json no puede ser; necesita un complemento FFI para hacer eso.

+0

La gema json ahora debería funcionar con JRuby. Actualmente se encuentra en la lista (junto a json_pure) como sustituto de la gema yajl-ruby más rápida a través de https://github.com/jruby/jruby/wiki/C-Extension-Alternatives. – iterion