ruby-mine

exploring the mine

Ruby 1.9 kann JSON

von murphy am 05.06.2007 (16 Uhr)

JSON ist eine Alternative zu YAML, findet zunehmend Verbreitung und wird unter anderem von Rails benutzt, um Daten über die AJAX-Schnittstelle zu senden. Das Ruby-Core-Team hat sich jetzt entschieden, Ruby serienmäßig damit auszurüsten:

Mon Jun  4 21:15:45 2007  NARUSE, Yui  <naruse@ruby-lang.org>

    * lib/json.rb, lib/json, ext/json, test/json:
      import JSON library.
require 'json'

# To create a JSON text from a ruby data structure, you
# can call JSON.generate (or JSON.unparse) like that:
json = JSON.generate [1, 2, {"a"=>3.141}, false, true, nil, 4..10]
# => [1,2,{"a":3.141},false,true,null,"4..10"]

# It's also possible to call the #to_json method directly.
json = [1, 2, {"a"=>3.141}, false, true, nil, 4..10].to_json
# => [1,2,{"a":3.141},false,true,null,"4..10"]
Passend zu p, y und pp gibt es damit auch j und jj:
$ irb19 -rjson
irb(main):001:0> jj Array('1.8'..'2.4')
[
  "1.8",
  "1.9",
  "2.0",
  "2.1",
  "2.2",
  "2.3",
  "2.4"
]
=> nil

Die Bibliothek wurde in C von Florian Frank geschrieben und gestern in den trunk importiert (das heißt, in Ruby 1.9.) Zu Weihnachten gibt es also schnellen JSON-Import und -Export in Ruby.


Kommentar schreiben

Name (notwendig)

Mail (wird nicht veröffentlicht)

Webseite


Kommentare

  1. WoNáDo schrieb am 07.06.2007 (11 Uhr)

    Mal kurz ein paar Fragen dazu, weil ich keine diesbezüglich relevanten Informationen gefunden habe - Macht es Sinn zukünftig JSON statt YAML für Konfigurationsdateien zu benutzen? - Wenn man für lokale Anwendungen YAML benutzt, um beispielweise Objekte über Sitzungsgrenzen hinaus zu verwalten, macht es da SInn auf JSON umzusteigen?

  2. murphy schrieb am 07.06.2007 (15 Uhr)

    ich denke nein. JSON ist valides JavaScript. YAML ist ja auch kein Ersatz für Ruby-Code, sondern ein FOrmat, dass auf Les- und Schreibbarkeit optimiert ist. Es kann natürlich trotzdem sein, dass sich JSON nach und nach dafür durchsetzt...wäre schade, ich mag YAML.