ハッシュからファイルにデータを保存しようとしています。私はJSON
とdump
にファイルに変換します。 私はJSONファイルにハッシュを変換するJSON::ParserError
JSONとRubyのハッシュ、またはその逆のファイル - パーサーエラー
コードを取得ハッシュするバックファイルから解析しようとすると:それは見えファイルへのいずれかでいくつかの値1を追加した後
user = {:email => "[email protected]", :passwrd => "hardPASSw0r|)"}
student_file = File.open("students.txt", "a+") do |f|
f.write JSON.dump(user)
end
を(正常に動作します)このような何か:
{"email":"[email protected]","passwrd":"qwert123"}{"email":"[email protected]","passwrd":"qwert12345"}{"email":"[email protected]","passwrd":"hardPASSw0r|)"}
私は戻って、ハッシュに変換するには、次のコードを試してみましたが、それは動作しません:
file = File.read('students.txt')
data_hash = JSON.parse(file)
私は私の目標は、ファイルから値を追加および削除することができることです
System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/json/common.rb:155:in `parse': 757: unexpected token at '{"email":"[email protected]","passwrd":"qwert12345"}{"email":"[email protected]","passwrd":"hardPASSw0r|)"}' (JSON::ParserError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/json/common.rb:155:in `parse'
from hash_json.rb:25:in `<main>'
を取得します。 私のミスはどこで修正できますか?ありがとうございました。
あなたは別のjsonオブジェクトを追加するために 'a +'でファイルを書きます。それはあなたが必要とするものですか?あなたは追加なしで書くことができますか? – Aleksey
@Aleksey私は '+ a' noを使う必要はありません。その場合、ソリューションはどのようになりますか? – Airwavezx