タグ付けされた質問 「serialization」

シリアライゼーションとは、データ構造を簡単に保存または送信できる形式に変換し、その後再構築するプロセスです。

3
いつSerializableインターフェースを実装する必要がありますか?
public class Contact implements Serializable { private String name; private String email; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } } いつSerializableインターフェイスを実装する必要がありますか? なぜそれを行うのですか? 利点やセキュリティはありますか?

14
いつ、なぜJPAエンティティはSerializableインターフェースを実装する必要がありますか?
質問はタイトルにあります。以下では、私の考えと調査結果のいくつかを説明しました。 私が非常に単純なドメインモデル(リレーションなしの3つのテーブル)を持っている場合、すべてのエンティティがSerializableを実装していませんでした。 しかし、ドメインモデルがより複雑になると、RuntimeExceptionが発生し、私のエンティティの1つがSerializableを実装していないと言われました。 JPA実装としてHibernateを使用しています。 私は疑問に思う: ベンダー固有の要件/動作ですか? シリアル化可能なエンティティはどうなりますか?保存または転送のためにシリアライズ可能にする必要がありますか? エンティティをシリアル化できるようにする必要があるのはいつですか。

13
オブジェクトを文字列にシリアル化する方法
次のコードスニペットに示すように、オブジェクトをファイルにシリアル化し、それを再度復元できます。オブジェクトを文字列にシリアル化し、代わりにデータベースに保存したいと思います。誰か助けてもらえますか? LinkedList<Diff_match_patch.Patch> patches = // whatever... FileOutputStream fileStream = new FileOutputStream("foo.ser"); ObjectOutputStream os = new ObjectOutputStream(fileStream); os.writeObject(patches1); os.close(); FileInputStream fileInputStream = new FileInputStream("foo.ser"); ObjectInputStream oInputStream = new ObjectInputStream(fileInputStream); Object one = oInputStream.readObject(); LinkedList<Diff_match_patch.Patch> patches3 = (LinkedList<Diff_match_patch.Patch>) one; os.close();


8
セットをJSONでシリアル化する方法は?
コレクションに重複が含まれないようにするために、メソッドとsetオブジェクトを含むPython があります。__hash____eq__ この結果をjsonでエンコードする必要がありsetますsetが、json.dumpsメソッドにempty を渡すとaが発生しTypeErrorます。 File "/usr/lib/python2.7/json/encoder.py", line 201, in encode chunks = self.iterencode(o, _one_shot=True) File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode return _iterencode(o, 0) File "/usr/lib/python2.7/json/encoder.py", line 178, in default raise TypeError(repr(o) + " is not JSON serializable") TypeError: set([]) is not JSON serializable json.JSONEncoderカスタムdefaultメソッドを持つクラスの拡張機能を作成できることはわかっていますが、からの変換をどこから始めればよいかさえわかりませんset。setデフォルトのメソッド内の値から辞書を作成し、そのエンコードを返す必要がありますか?理想的には、デフォルトのメソッドが、元のエンコーダーがチョークするすべてのデータ型を処理できるようにしたいと思います(Mongoをデータソースとして使用しているため、日付でもこのエラーが発生するようです) 正しい方向へのヒントがあれば幸いです。 編集: 答えてくれてありがとう!おそらくもっと正確だったはずだ。 私setは翻訳の制限を回避するためにここで回答を利用(および賛成)しましたが、問題である内部キーもあります。 のオブジェクトは、にset変換される複雑なオブジェクトです__dict__が、jsonエンコーダーの基本タイプには適さない可能性のあるプロパティの値を含めることもできます。 このにはさまざまなタイプが多数setあり、ハッシュは基本的にエンティティの一意のIDを計算しますが、NoSQLの真の精神では、子オブジェクトが何を含んでいるかを正確に伝えることはできません。 …

10
辞書メンバーを含むクラスをシリアル化
以前の問題を拡張して、うまく機能した構成ファイルクラスを(逆)シリアル化することにしました。 私は今、マップするために、ドライブ文字の連想配列を保存する(キー値がネットワークパスで、ドライブ名です)と使用して試してみましたDictionary、HybridDictionaryと、Hashtableこのためのが、呼び出したとき、私はいつも次のエラーを取得しますConfigFile.Load()かConfigFile.Save(): タイプ「App.ConfigFile」を反映するエラーがありました。[切り取り] System.NotSupportedException:メンバーApp.Configfile.mappedDrivesをシリアル化できません[切り取り] 私が読んだことから、辞書とハッシュテーブルはシリアル化できるので、何が間違っているのですか? [XmlRoot(ElementName="Config")] public class ConfigFile { public String guiPath { get; set; } public string configPath { get; set; } public Dictionary<string, string> mappedDrives = new Dictionary<string, string>(); public Boolean Save(String filename) { using(var filestream = File.Open(filename, FileMode.OpenOrCreate,FileAccess.ReadWrite)) { try { var serializer = new XmlSerializer(typeof(ConfigFile)); …

6
Pythonで文字列を列挙に変換する
文字列をPythonのEnumクラスに変換(逆シリアル化)する正しい方法は何でしょうか。getattr(YourEnumType, str)仕事はしているようですが、それが十分に安全かどうかはわかりません。 より具体的には、次のように'debug'文字列をEnumオブジェクトに変換したいと思います。 class BuildType(Enum): debug = 200 release = 400


13
C ++でクラスをシリアル化および逆シリアル化することは可能ですか?
C ++でクラスをシリアル化および逆シリアル化することは可能ですか? 私は3年間Javaを使用してきましたが、その言語ではシリアライゼーション/デシリアライゼーションはかなり簡単です。C ++には同様の機能がありますか?シリアル化を処理するネイティブライブラリはありますか? 例が参考になります。
138 c++  serialization 

6
Performance Entity Serialization:BSON vs MessagePack(vs JSON)
最近、私はMessagePackを見つけました。これは、GoogleのプロトコルバッファーとJSONの代替バイナリシリアル化形式で、どちらも優れています。 また、MongoDBがデータの保存に使用するBSONシリアル化形式もあります。 誰かがBSONとMessagePackの違いと欠点を詳しく説明できますか? パフォーマンスの高いバイナリシリアル化形式のリストを完成させるためだけに、Googleのプロトコルバッファの後継となるGobs もあります。ただし、言及されている他のすべての形式とは対照的に、これらは言語に依存せず、Goの組み込みリフレクションに依存しています。少なくともGo以外の言語用のGobsライブラリもあります。


3
Railsシリアライズを使用してハッシュをデータベースに保存する
Railsアプリで、ハッシュマッピングIDをいくつかの試行に保存しようとしています。この新しい列に対応するためのデータベースへの移行: class AddMultiWrongToUser < ActiveRecord::Migration def self.up add_column :users, :multi_wrong, :string end def self.down remove_column :users, :multi_wrong end end 私のモデルでは: class User < ActiveRecord::Base serialize :multi_wrong, Hash end しかし、私がレールコンソールを使用してこれをテストすると、次のようになります: user = User.create() user.multi_wrong = {"test"=>"123"} user.save 出力は偽です。ここで何が問題になっていますか?


5
TextReaderの代わりに文字列から逆シリアル化
私のコードを次のように変更したい: string path = @"c:\Directory\test.xml"; XmlSerializer s = new XmlSerializer(typeof(Car)); TextReader r = new StreamReader(path); Car car = (Car)s.Deserialize(r); r.Close(); XMLを文字列に変換し、文字列をオブジェクトCarに変換するコードに変換します。 これは可能ですか?
135 c#  xml  serialization 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.