SORU
6 Temmuz 2010, Salı


Nasıl ruby karma bir nesneyi JSON dönüştürmek için?

Nasıl ruby karma bir nesneyi JSON dönüştürmek için? Aşağıda bu örnek, çalışıyorum ve olmuyor?

Bu RubyDoc bakıyordum ve açıkçası Hash nesne to_json bir yöntem yok. Ama Raylar active_record.to_json destekler ve aynı zamanda hash#to_json destekleyen bloglar okuyorum. ActiveRecord Raylar bir nesne olduğunu anlayabiliyorum, ama Hash Raylar yerli değil, saf Yakut bir nesne. Yapabileceğiniz Raylar hash.to_json ama saf Ruby?

car = {:make => "bmw", :year => "2003"}
car.to_json

CEVAP
6 Temmuz 2010, Salı


Ruby sayısız incelikler biri kendi yöntemleri ile mevcut sınıflar uzatma olasılığı. Denir ki "sınıfı yeniden açılması" ya da maymun-yama (ikincisi can vary ama anlamı).

Yani, burada bir göz atın:

car = {:make => "bmw", :year => "2003"}
# => {:make=>"bmw", :year=>"2003"}
car.to_json
# NoMethodError: undefined method `to_json' for {:make=>"bmw", :year=>"2003"}:Hash
#   from (irb):11
#   from /usr/bin/irb:12:in `<main>'
require 'json'
# => true
car.to_json
# => "{"make":"bmw","year":"2003"}"

Gördüğünüz gibi, json sihirli bir şekilde sahip gerektiren to_json bizim için yöntem Hash getirdi.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MrSuicideSheep

    MrSuicideShe

    9 NİSAN 2010
  • Official Clouds

    Official Clo

    1 HAZİRAN 2011
  • Tahir Jahi

    Tahir Jahi

    6 Mart 2006