Ruby 2.0
json (1.8.1, 1.7.7)
Функция, которая добавляет в файл json объект:
def add(input_hash)
f = File.open('db.dat','a+')
f.write(JSON.generate(input_hash))
f.close
end
Функция, которая читает json объект из файла:
def get
f = File.open('db.dat','a+')
tmp = JSON.parse(f.read)
return tmp
end
Если в файл вставить одно значение, любой json-объект, то считывание единственного объекта происходит без проблем.
Если в этот же файл вставить еще один json-объект, то, собственно, возникает ошибка при разборе второго значения - 'Unexpected token at <2jsonobject>'
/var/lib/gems/2.0.0/gems/json-1.8.1/lib/json/common.rb:178:in `parse': 757: unexpected token at '{"mail":{"google":"password"}}' (JSON::ParserError)
1. Пробовал читать и записывать строки с методом strip
2. Пробовал помещать в массив объекты, типа -
>> JSON.parse([ 'foo' ].to_json).first
=> "foo"
и
>> json = 'foo'.to_json
>> JSON.parse(json, :quirks_mode => true)
=> "foo"
Подскажите, что я неправильно делаю.