Kimsenin JSON'un []
yöntemini işaret etmesine şaşırdım , bu da kodlamayı çözmeyi ve JSON'dan kodlamayı çok kolay ve şeffaf hale getiriyor.
Nesne dizeye benzerse, dizeyi ayrıştırın ve çözümlenen sonucu Ruby veri yapısı olarak döndürün. Aksi takdirde Ruby veri yapısı nesnesinden bir JSON metni oluşturun ve döndürün.
Bunu düşün:
require 'json'
hash = {"val":"test","val1":"test1","val2":"test2"} # => {:val=>"test", :val1=>"test1", :val2=>"test2"}
str = JSON[hash] # => "{\"val\":\"test\",\"val1\":\"test1\",\"val2\":\"test2\"}"
str
şimdi kodlanmış JSON içeriyor hash
.
Aşağıdakileri kullanarak tersine çevirmek kolaydır:
JSON[str] # => {"val"=>"test", "val1"=>"test1", "val2"=>"test2"}
Özel nesnelerin to_s
sınıf için tanımlanması gerekir ve içinde nesne bir Hash'e dönüştürüp to_json
üzerinde kullanın .
value = '{"val":"test","val1":"test1","val2":"test2"}'
daha okunabilir olabilirdi.