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

  • LevelUpTuts

    LevelUpTuts

    20 Ocak 2012
  • Makeup Lover

    Makeup Lover

    12 HAZİRAN 2011
  • PoreoticsHD

    PoreoticsHD

    22 NİSAN 2010