2014-08-27 4 views
11

Ich habe einen Hash:Konvertieren einer Ruby-Hash in JSON (ohne Escape-Zeichen)

my_hash = {"[email protected]"=>{"first"=>"Bob", "last"=>"Johnson"}, "[email protected]"=>{"first"=>"Lisa", "last"=>"Dell"}} 

Wenn ich versuche, es zu serialisieren mit my_hash.to_json ist das, was ich bekommen:

"{\"[email protected]\":{\"first\":\"Bob\",\"last\":\"Johnson\"},\"[email protected]\":{\"first\":\"Lisa\",\"last\":\"Dell\"}}" 

Wie könnte ich ein Hash in das JSON-Format konvertieren, ohne die fliehenden Zeichen zu erhalten?

Antwort

36

Diese Escape-Zeichen entkommen " in Ruby String (Ihre my_hash.to_json Ausgabe). Wenn Sie

puts my_hash.to_json 

tun werden Sie sehen, dass tatsächlich diese Escape-Zeichen sind nicht auf Ausgabezeichenfolge hinzugefügt.

+0

Oh, ich sehe, also nehme ich an, dass es mir gut geht mit 'my_hash.to_json' in meinem Code? – Numbers

+1

@Numbers ja, du solltest sein. –

+1

Sie müssen die Bibliothek benötigen, es ist in der Ruby-Standard-Bibliothek, nicht im Kern: 'require 'Json'' – koffeinfrei