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

  • FF Radio

    FF Radio

    16 Mayıs 2008
  • Chuck Testa

    Chuck Testa

    14 AĞUSTOS 2011
  • Sarah's YouTube Channel

    Sarah's YouT

    27 Temmuz 2009