2010-03-24 70 views
6

我需要一個庫來處理在Ruby中JSON對象。上有http://rubygems.org/search?query=json什麼是「json的」寶石和‘json_pure’寶石的區別?

json_pure可用jsonjson_pure兩種寶石只用Ruby寫而json使用C.我所不解的是,json更快,因爲C的用法所以是json生產更好?

似乎都可以很容易地通過運行gem install命令剛剛安裝。當我安裝引入nokogiri,我需要做一些額外的工作,我認爲額外的工作是必需的,因爲Nokogiri正在使用C擴展,但我不需要額外爲json gem做任何事情。

  • jsonjson_pure有什麼優點和缺點?
  • 假設安裝json很簡單,json_pure有什麼好處?

回答

7

Nokogiri需要額外的庫,因爲它使用libXML。 json沒有庫依賴關係,所以你不需要額外的東西。

json的優點就是你說的:它在C中,所以性能比json_pure好。如果您沒有MRIjson_pure的優勢可以是。例如,json_pure gem可以安裝在JRuby/Maglev或其他實現中。 json寶石不能;它需要一個FFI插件來做到這一點。

+0

json寶石現在應該可以使用JRuby。它通過https://github.com/jruby/jruby/wiki/C-Extension-Alternatives列出(與json_pure一起),代替更快的yajl-ruby gem。 – iterion 2014-02-25 05:14:24