問題タブ [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 投票する
3 に答える
4686 参照

c# - C#(.NET 3.5)でxmlを逆シリアル化するときにデフォルト値を設定することは可能ですか?

少しイライラする問題があります。C#(.NET 3.5)でxmlを逆シリアル化するときにデフォルト値を設定することは可能ですか?基本的に、私は自分の制御下にないいくつかのxmlを逆シリアル化しようとしていますが、1つの要素は次のようになります。

また、次のようになります。

今、私のクラスには、データを受け取る必要がある次のプロパティがあります。

これは最初のxml要素の例では正常に機能しますが、2番目の例では失敗します。プロパティタイプをintに変更してみましたか?しかし、これは役に立ちません。ある時点で同じxml形式にシリアル化する必要もありますが、独自のロールに頼ることなく、組み込みのシリアル化サポートを使用しようとしています。

誰かがこの種の問題の経験がありますか?

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

java - java.lang.Locale のシリアル化

そこにあるすべての変数を使用して、XMLEncoder を使用して xml に適切にシリアル化するクラスを取得しました。java.util.Localeを保持するものを除きます。トリックは何でしょうか?

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

c++ - シリアル化およびリレーショナル データベース データ アクセスにデータ アクセス オブジェクトを使用する方法

バイナリ ファイルと RDBMS の両方にクラス インスタンス データを読み書きするための機能またはフレームワーク (つまり、インターフェイス クラスなど) を提供する C++ ドメイン モデル クラス ライブラリを開発しています。このライブラリの基礎は、RDBMS を使用するアプリケーションです。データベースの取得と更新の一連の呼び出しを実行してメンバー データのコレクションを取得することにより、クラスをインスタンス化するメソッドがいくつかあります。シリアル化されたデータ アクセスでは、データを整理する方法が異なるため、ドメイン モデルがプライマリ/外部キー、ID などを完全に認識しないようにする必要があります。

この問題を解決するために、私はデータ アクセス オブジェクト(DAO) パターンの使用を検討しており、DAO オブジェクトの「粒度」、有効期間、および使用についてアドバイスをお願いしたいと思います (返信では、C++ を使用することに注意してください)。であり、ドメイン クラスは RDBMS またはバイナリ ファイル ストアからの ID/キー情報を保持できない):

  1. ドメイン オブジェクトの各 Foo インスタンスには独自の FooDAO インスタンスがありますか、それともクラス Foo のすべてのインスタンスに対して単一の FooDAO インスタンスがありますか?
  2. FooDAO は Foo インスタンスごとに 1 回作成されますか?それとも、FooDAO インスタンスはデータへのアクセスが必要な場合にのみ作成され、その後すぐに破棄されますか?
  3. DAOのJ2EEページでは、DAO に加えて DTO を紹介しています。DAO がデータを転送できないのはなぜですか?
  4. 他のドメイン クラス Bar のインスタンスを持つ複雑なドメイン クラス Foo の場合、FooDAO クラスが BarDAO クラスを使用してデータを取得することは避けられないようです。これは、ドメイン クラス構造と DAO クラス構造に並列の階層/依存関係をもたらします。これをどのように管理するのが最善でしょうか?

ご協力いただきありがとうございます!

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

ruby - Rubyコードをどのようにストリング化/シリアライズしますか?

Ruby コードにラムダ/Proc を記述し、それをシリアル化してディスクに書き込み、後でラムダを実行できるようにしたいと考えています。みたいな...

後で、Ruby インタープリターの別の実行で、私は言うことができるようにしたい.

Marshal.dump は Procs では機能しません。Perl にData::Dump::Streamerがあることは知っていますが、Lisp ではこれは些細なことです。しかし、Rubyでそれを行う方法はありますか? 言い換えれば、の実装は何でしょうか?save_for_later

編集以下の私の答えはいいですが、自由変数( など)を閉じずx、ラムダとともにそれらをシリアル化します。だから私の例では...

... 文字列出力に の定義が含まれていませんx。おそらくシンボルテーブルをシリアル化することによって、これを考慮した解決策はありますか? Rubyでアクセスできますか?

編集 2 : シリアル化されたローカル変数を組み込むように回答を更新しました。これは許容できるようです。

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

.net - 異なるフレームワーク バージョン間での .NET シリアル化の安定性

私が取り組んでいるプロジェクトでは、シャットダウンする前にデータ構造をシリアル化する必要があり、再起動時にこのシリアル化されたデータから状態を復元します。

昨年、私たちは .NET 1.1 向けにビルドしていましたが、難しい問題に遭遇しました。

  • 私たちのコードは .NET 2.0 で実行されました
  • 1.1 をデフォルトとして何らかの方法で設定するソフトウェアでアップグレードした顧客
  • 私たちのコードは .NET 1.1 で実行され、保存された状態を逆シリアル化できませんでした

この特定の問題は、その特定のソフトウェア アップグレードを禁止することで「解決」されました。.NET 2.0 フレームワークをターゲットにしているため (したがって、1.1 で実行できない可能性があります)、問題になることはありません。

このシリアライゼーションが 2.0 と新しいフレームワークの間で再び非互換に変更される可能性はどのくらいですか? コードを 2.0.50727 に修正した場合<supportedVersion>、2.0.50727.1434 と 2.0.50727.nnnn (将来のリリース) の間でどのような変更が行われる可能性がありますか? シリアル化されるデータ構造は、標準クラス ライブラリの配列、マップ、文字列などです。

また、さらに .NET をアップグレードした後でも、2.0.50727 フレームワークが常にインストールされることが保証されていますか? Microsoft ドキュメントへのポインタを歓迎します。

0 投票する
3 に答える
1939 参照

java - クラス内に画像/サウンドを保存する最良の方法は?

ユーザーが情報をファイルに保存して後で復元できるように、アプリケーションのインスタンス間の一種の交換フォーマットを開発しています。「交換フォーマット」全体は、シリアル化されてディスクに書き込まれる単一のクラスです。

そのクラス内にグラフィック/サウンド情報を保存するにはどうすればよいですか? ファイルを.jarに入れるだけは避けたいです。

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

web-services - DTO からエンティティ、エンティティから DTO に簡単に変換できますか?

私は最近、いくつかの分散型クライアント/サーバー プロジェクトに取り組んできましたが、DTO オブジェクトをエンティティに、またはその逆に変換するときに常に遭遇する問題の 1 つです。このタイムシンクに対する「簡単な」解決策を誰かが持っているかどうか疑問に思っていましたか?

私が考えたことの 1 つは、リフレクションを使用してある種の翻訳を考え出すことでした...プロパティ名がワイヤの両側でまったく同じであることを確認する必要があると思いますが、うまくいくようです。

この時間の一部を私の開発に費やすのを避ける方法を探しています。

ありがとう!!

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

java - オブジェクト(出力|入力)ストリーム バイナリ プロトコル

で使用されるバイナリ プロトコルについて説明しているリソースがあるかどうか疑問に思っていましたObjectOutputStream。もちろん、オブジェクト自体がインターフェイスを実装することでそのデータを指定できることは理解していExternalizableます。そのため、オブジェクト グラフの構造、つまりメタデータをより重視していると思います。

レガシー Java プログラムと対話する必要がある C プログラムを作成しています。ObjectOutputStreamこれらの要件のいずれも変更する方法がないため、プロトコルのリバース エンジニアリングを行っています。(転送に HTTP を使用し、HTTP 応答として Object*Stream を返すサーバーがあります。)

しかし、私はそこにいる他の誰かが以前にこの仕事をしなければならなかったように感じます. 作業をスピードアップするためのリソースを教えてください。

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

.net - .net Webサービスでnull可能なDateTimeをシリアル化するには?

Subsonic コレクションを Web サービス経由でクライアントに渡そうとしています。Web サービスを参照すると、IDE は次のように文句を言います。

System.Nullable`1[System.DateTime] 型のメンバー 'EndDate' をシリアル化できません。XmlAttribute/XmlText を使用して複合型をエンコードすることはできません。

.net Web サービスで null 許容の複合型をシリアル化する方法はありますか?

0 投票する
3 に答える
1990 参照

c# - C# でシリアル化された XML からオブジェクトを読み込むためのベスト プラクティス

ご挨拶、

次のように、ファイルから構築できる特定のオブジェクトがあります。

要するに、「わかりました。デシリアライズしたばかりのこのオブジェクトは、実際のオブジェクトです」と言いたいのです。これを行うにはいくつかの方法があり、どれがベストプラクティスと見なされるのか疑問に思っています。私のアイデアは次のとおりです。

  • フィールドごとにオブジェクトをコピーする copy-into-me 関数を構築します。これは現在の実装であり、新しいメンバーがオブジェクトに追加されるたびに、それを「copy-into-me」関数に追加することも覚えておく必要があるため、これは恐ろしい考えであると確信しています。これを維持する方法はありません.
  • オブジェクトをロードするための事実上のコンストラクターとして機能する ConfigObj クラスの静的メソッドを構築します。これははるかに優れているように聞こえますが、ベストプラクティスとは言えません。

しかし、私はどちらにも完全に満足しているわけではありません。ここで認められているベストプラクティスは何ですか?