Сначала нужно убедиться, что вы используете правильную базовую структуру:
def to_json(*a)
{
'json_class' => self.class.name,
'data' => Your data
}.to_json(*a)
end
Ключ json_class
используется гемом JSON, чтобы определить, в какой класс передавать данные. Параметр *a
включает в себя все аргументы, передаваемые гемом JSON, обычно не важными для ваших классов, поэтому вы просто передаете его прямо в вызов хеша to_json
. Далее самые простые способы хранения ваших данных - это хеш или массив:
'data' => [@name, @age, @address]
или
'data' => { 'name' => @name, 'age' => @age, 'address' => @address
Первый может быть быстрее и немного облегчает написание метода self.json_create
, а второй намного проще сделать обратно совместимым, если вы когда-либо измените структуру данных и захотите загрузить старые объекты JSON.