問題タブ [serialization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
20042 参照

serialization - グラフ構造をシリアライズするには?

フラット ファイルとリレーショナル データベースは、構造化データをシリアル化するメカニズムを提供します。XML は、構造化されていないツリー状のデータをシリアル化するのに優れています。

しかし、多くの問題はグラフで表現するのが最適です。たとえば、熱シミュレーション プログラムは、抵抗エッジを介して互いに接続された温度ノードで動作します。

では、グラフ構造をシリアライズする最良の方法は何でしょうか? リレーショナル データベースがオブジェクトの複雑な Web をシリアル化できるのと同じ方法で、XML がある程度それを実行できることを私は知っています。XML は通常は機能しますが、簡単に醜くなる可能性があります。

Graphviz プログラムで使用されるドット言語については知っていますが、これが最適な方法かどうかはわかりません。この質問は、おそらく学界が取り組んでいるようなものであり、これについて議論している論文への参照があれば幸いです.

0 投票する
2 に答える
2009 参照

java - VC++ CArchive バイナリ形式の読み取り (または Java 読み取り (CObArray))

さまざまな MFC データ構造をシリアル化するために使用されるバイナリ形式に関する明確なドキュメントはありますか? 独自のクラスのいくつかを 16 進エディタで表示し、Java の ByteBuffer クラスを使用してそれらを読み込むことができました (自動エンディアン変換などを使用)。

ただし、現在、CObArray データを取得しようとしているときに問題が発生しています。これは、不透明なかなり大きなヘッダーがあり、オブジェクト タイプ情報がどのように保持されているかが不明であるためです。

これに役立つ一連のオンライン ドキュメントはありますか? または、過去にこれを扱った人からのサンプル Java コードはありますか?

0 投票する
1 に答える
457 参照

.net - .NET シリアル化クラスの設計の問題

多くの異なる方法 (モード) でシリアライズおよびデシリアライズする必要があるかなり大きなオブジェクト グラフがあります。一部のモードでは、特定のプロパティを逆シリアル化したい場合と、そうでない場合があります。将来のモードでは、プロパティのオプションが yes または no よりも多くなる可能性もあります。問題は、これらのモードをどのように実装するかです。

アプローチ A (逆シリアル化コンストラクターと ISerializable.GetObjectData を使用):

逆シリアル化コンストラクターを使用してグラフの各オブジェクト自体をシリアル化すると、逆シリアル化のさまざまなモードすべてに対して多くのスイッチが得られます。ただし、このアプローチの利点は、すべての逆シリアル化ロジックが 1 つの場所にあることです。新しいプロパティを追加する場合は、ISerializable.GetObjectData と逆シリアル化コンストラクターを変更するだけで済みます。もう 1 つの利点は、公開される可能性のある内部状態をオブジェクトが考慮できることです。最も重要な欠点は、データオブジェクト自体が可能なすべてのシリアル化モードについて知る必要があることです。新しいモードが必要な場合は、データ オブジェクトを変更する必要があります。

アプローチ B (デシリアライゼーション ファクトリ クラス/メソッド):

別のアプローチは、シリアライゼーションとデシリアライゼーションを外部で行うモードごとに、ある種のデシリアライゼーション ファクトリ クラス/メソッドを用意することです (例: GraphSerializer.SerializeObjectTypeX(ObjectTypeX objectToSerialze)。ここでの利点は、新しいモードが必要なときはいつでも新しいFactory Class/Method と Dataobject は、導入されたすべてのシリアライゼーション モードで混乱することはありません. ここでの主な欠点は、すべての異なるモードに対して同じシリアライゼーション コードを何度も書かなければならないことです. 2 つのモードが単に異なる場合1 つまたは 2 つのプロパティですが、グラフ全体の完全なロジックを再度実装する必要があるため、データ オブジェクトに新しいプロパティを追加するときは、すべてのファクトリ クラスを更新する必要があります。

したがって、この IMHO の一般的な問題に対するより良いアプローチがあるのではないかと思います。それとも .NET のベスト プラクティスでしょうか? それとも、間違った視点から全体にアプローチしているだけなのでしょうか?

0 投票する
1 に答える
4026 参照

c# - C# での System.Xml.Serialization.XmlSerializer のインスタンス化のクラッシュ

System.Xml.Serialization.XmlSerializerC# ライブラリでクラスのインスタンスをインスタンス化するときにクラッシュが発生します。重複キーをディクショナリに追加しようとすると、コンストラクタでクラッシュが発生します。以下にスタックトレースを含めました。

このクラッシュは 1 台のマシンでのみ発生しており、.NET 3.5 のインストールを修復しても解決しませんでした。他の誰かが同様の問題を見たことがありますか?

0 投票する
5 に答える
3752 参照

c# - C# での XMLSerialization

インターフェイスを明示的に実装する単純な型があります。

タイプIMessageHeaderのオブジェクトをシリアライズおよびデシリアライズする方法はありますか??

試してみると、次のエラーが発生しました

「インターフェイス IMessageHeader をシリアル化できません」

0 投票する
19 に答える
258353 参照

c# - XmlSerializer - タイプを反映するエラーがありました

[Serializable]C# .NET 2.0 を使用して、属性を持つ複合データ クラスを作成しました。クラスを作成し、XMLSerializerそれをコンストラクターに渡します。

次のような例外が発生します。

タイプを反映するエラーがありました。

データ クラス内には、別の複合オブジェクトがあります。これも[Serializable]属性を持つ必要がありますか、それとも一番上のオブジェクトに持つことで、内部のすべてのオブジェクトに再帰的に適用されますか?

0 投票する
4 に答える
2846 参照

c# - Java と .NET を使用してアプリケーションをブリッジするために Hessian バイナリ リモーティング プロトコルを使用した人はいますか?

Hessianはカスタム バイナリ シリアライゼーション プロトコル (オープンソースだと思います) であり、バイナリ クロス プラットフォーム リモーティング フレームワークの基礎を形成します。ここで誰かがそれを使用したことがあるかどうかを知りたいです。もしそうなら、一方の Java アプリと他方の C# アプリを橋渡しするソリューションから、どのようなパフォーマンスが期待できるでしょうか。(単純なクラスをシリアライズしていると考えてみましょう。単純なクラスの配列、リスト、辞書である可能性があります。)

0 投票する
6 に答える
1998 参照

.net - WCF Datacontract の無料シリアル化 (3.5 SP1)

これを実際に機能させた人はいますか?この機能を有効にする方法に関するドキュメントは存在せず、3.5 SP1 プロジェクトがあるにもかかわらず、属性の例外が見つかりません。

0 投票する
6 に答える
48422 参照

wcf - .NET3.5でのDateTimeシリアル化のベストプラクティス

約4年前、このMSDNの記事に従って、.Net1.1およびASMXWebサービス(バックエンドとしてSQL 2000サーバーを使用)で.Netクライアントを構築するためのDateTimeの使用に関するベストプラクティスを確認しました。DateTimeで発生したシリアル化の問題と、さまざまなタイムゾーンのサーバーで行ったテスト作業を今でも覚えています。

私の質問は次のとおりです。特に、タイムゾーン対応情報を格納するための新しい日時タイプが追加された、WCFやSQLServer2008などのいくつかの新しいテクノロジに関する同様のベストプラクティスドキュメントはありますか。

これが環境です:

  1. 太平洋標準時のSQLServer2008。
  2. 別のタイムゾーンのWebサービスレイヤー。
  3. クライアントは、異なるタイムゾーンで.Net2.0または.Net3.5を使用している可能性があります。簡単にできる場合は、すべてのユーザーに.Net3.5へのアップグレードを強制できます。:)

各レイヤーで使用されるデータ型に関する適切な提案/ベストプラクティスはありますか?

0 投票する
15 に答える
134837 参照

serialization - ThriftとProtocolBufferの最大の違いは?

ApacheThriftGoogleのProtocolBuffersの最大の長所と短所は何ですか?