Tôi đang tìm hiểu cách phân tích cú pháp và tạo JSON bằng đá quý JSON. Tôi có thể dễ dàng tạo ra một băm dữ liệu và tạo ra dữ liệu đó thành JSON; Tuy nhiên, tôi đang có một rắm não khi nói đến việc lấy một thể hiện của một lớp (chẳng hạn như một cá thể Person) và đặt tất cả các biến cá thể của nó bên trong một băm được chuyển đổi thành JSON.Chuyển đổi đối tượng tùy chỉnh sang JSON bằng cách sử dụng đá quý JSON
Đây là ví dụ tôi đang gặp rắc rối với:
require "json"
class Person
def initialize(name, age, address)
@name = name
@age = age
@address = address
end
def to_json
end
end
p = Person.new('John Doe', 46, "123 Elm Street")
p.to_json
Tôi muốn tạo ra một phương pháp .to_json
vì vậy mà tôi có thể mất một đối tượng người và có tất cả các biến cá thể của nó chuyển thành JSON. Những gì tôi nghĩ rằng tôi cần làm là lấy tất cả các biến cá thể của Person, đặt chúng vào một hash sau đó gọi JSON.generate(hash)
. Tôi đang có một rắm não về cách làm điều đó ngay bây giờ. Vì vậy, ai đó có thể giúp tôi hoàn thành phương pháp to_json
, hoặc có lẽ đề xuất một cách tốt hơn để thực hiện nó? Cảm ơn!
Nếu bạn đang sử dụng Rails trợ giúp được thực hiện cho bạn đã và bạn có thể dễ dàng có được những gì bạn muốn chạy ' .to_hash' hoặc' .to_json'. Hãy xem qua nguồn của tôi cho tác vụ 'author_list': https://github.com/shybovycha/strong-sword/blob/master/app/controllers/quotes_controller.rb#L29 –
shybovycha