Do you want JSON.parse or JSON.load
def load_user_lib( filename ) JSON.parse( IO.read(filename) ) end
The key point here is to use IO.read as an easy way to load a JSON string from disk so that it can be parsed. Or, if you have UTF-8 data in your file:
my_object = JSON.parse( IO.read(filename, encoding:'utf-8') )
I contacted the JSON documentation above, so you should read this for more details. But in general:
json = my_object.to_json - a method for a specific object to create a JSON string.json = JSON.generate(my_object) - create a JSON string from an object.JSON.dump(my_object, someIO) - create a JSON string and write to the file.my_object = JSON.parse(json) - create a Ruby object from a JSON string.my_object = JSON.load(someIO) - create a Ruby object from a file.
As an alternative:
def load_user_lib( filename ) File.open( filename, "r" ) do |f| JSON.load( f ) end end
Note. I used the name "snake_case" for the method that matches your "camelCase" saveUserLib , since this is a Ruby convention.
Phrogz Jan 29 '12 at 17:29 2012-01-29 17:29
source share