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

  • Hollyscoop

    Hollyscoop

    30 Ocak 2007
  • KarnasCamillo

    KarnasCamill

    24 EKİM 2007
  • paulandstorm

    paulandstorm

    4 EYLÜL 2006