Ich möchte ein Objekt zu JSON serialisieren, in Datei schreiben und zurücklesen. Jetzt würde ich so etwas wie in .net erwarten, wo Sie haben so Json.NET oder etwas und Sie tun:Ruby-Objekt zu JSON und zurück serialisieren?
JsonSerializer.Serialize(obj);
und mit ihr geschehen. Sie erhalten die JSON-Zeichenfolge zurück.
Wie mache ich das in Ruby? Keine Schienen, kein ActiveRecord, nichts. Gibt es ein Juwel, das ich nicht finden kann?
ich das JSON Juwel installiert und rief:
puts JSON.generate([obj])
wo obj ein ähnliches Objekt ist:
class CrawlStep
attr_accessor :id, :name, :next_step
def initialize (id, name, next_step)
@id = id
@name = name
@next_step = next_step
end
end
obj = CrawlStep.new(1, 'step 1', CrawlStep.new(2, 'step 2', nil))
Alle komme ich zurück ist:
["#<CrawlStep:0x00000001270d70>"]
Was soll ich tun falsch?
Funktioniert gut - danke. – sirrocco
Das hat bei mir nicht funktioniert, bis ich die json gem Quelle angeschaut habe und herausgefunden habe, dass du einen Options-Hash übergeben musst, wobei 'create_additions' auf' true' gesetzt ist. z.B. 'JSON.parse (obj, create_additions: true)' oder 'JSON.load (str, nil, create_additions: true)'. Sonst ist es standardmäßig auf false gesetzt. Dies ist zumindest für Version 1.5.5 der Fall – cjross