ID、名前、ハッシュを格納するテーブルがあります。ハッシュをシリアル化するにはどうすればよいですか?(私はRubyとSequelをORMとして使用しています。)
2782 次
4 に答える
5
Sequel :: Modelを使用している場合は、Serializationプラグインでうまくいくはずです。
于 2010-01-25T18:24:37.663 に答える
5
あなたは十分な答えを見つけたようですが、私は汎用のRubyの方法でチップインすると思いました。
# outside of rails you'll need this
require 'base64'
# encode
h = { :first => "John", :age => 23 }
encoded = Base64.encode64(Marshal.dump(h))
# decode
h = Marshal.load(Base64.decode64(encoded))
これを使用してRubyオブジェクトをシリアル化します(たとえば、JSON全体およびDBに)。RailsのCookieセッションが同じ方法でセッションハッシュをエンコードしていることがわかります。これを使用してブラウザのCookieからセッションコンテンツをデバッグすると便利なことがよくあります。
于 2010-01-28T06:18:58.280 に答える
1
JSON-API準拠をお探しの場合は、 JSONAPI::Serializersを使用して幸運を祈ります。オプションを渡す必要があり:skip_collection_check
ます。パフォーマンスを上げるには、1)データセットではなく結果セットを渡し、2)シリアル化する前に熱心な負荷の関係を渡す必要があります(データをサイドローディングする場合)。
于 2015-10-14T22:51:40.547 に答える
0
YAMLを試してみてください:
require 'yaml'
# encode
my_hash = { :first => "John", :age => 23 }
encoded = YAML.dump(my_hash)
# decode
my_hash = YAML.load(encoded)
続編文字列に保存でき、複雑なオブジェクトで機能し、DBで読み取ることができます。私はここでそれについて読みました。
于 2017-07-05T14:47:32.197 に答える