Skip to content

Instantly share code, notes, and snippets.

@lak
Created July 5, 2009 23:46
Show Gist options
  • Select an option

  • Save lak/141184 to your computer and use it in GitHub Desktop.

Select an option

Save lak/141184 to your computer and use it in GitHub Desktop.
require 'json'
class JsonTester
def self.from_json(text)
data = JSON.parse(text)
p data
if data.include?("data")
data = data["data"]
end
p data
new(data["name"], data["parameters"])
end
def initialize(name, params)
@name, @params = name, params
end
def to_json(*args)
data = {"name" => @name}
data["parameters"] = @params
{
'json_class' => self.class.name,
'data' => data
}.to_json(*args)
end
end
class JsonTesting
def initialize
@test = JsonTester.new("foo", "a" => "b", "c" => "d")
text = @test.to_json
puts text
other = JsonTester.from_json(text)
p other
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment