問題タブ [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.
java - Java: シリアライズ初心者の問題 :-(
単純なメール オブジェクトをシリアル化して保存したいのですが、常にエラーが発生し、その場所がわかりません。
ユーザーとメッセージクラスは次のとおりです
例外は次のとおりです。
exception in thread "main" java.lang.Error: Unresolved compilation problem:
This method must return a result of type Message[]
at sotring.storeing.getStoredMails(storeing.java:22)
at sotring.storeing.main(storeing.java:57)
ご協力ありがとうございました!!!!!!!!!!!
json - JSONシリアライゼーションのバリエーションに対処する適切な方法
Python の SimpleJSON を使用して JSON をシリアル化する Web サービスと、Google の Visualization APIを使用する javascript/ クライアントがあります。Google Data Table の Query メソッドを使用して JSON 応答を読み込もうとすると、「無効なラベル」エラーが発生します。
Google スプレッドシートは、オブジェクト キーを引用符なしで JSON を出力することに気付きました。引用符なしで JSON を読み込もうとしましたが、うまくいきました。SimpleJSON の出力を Google のデータに読み込むための最良の方法は何だろうと思っていました
query = new google.visualization.Query("http://www.myuri.com/api/")
.
正規表現を使用して引用符を削除できますが、それはずさんなようです。私が試したJavaScript JSON解析ライブラリは、オブジェクトキーを引用符で囲まないとJSON構文を読み取れません。
ここにいくつかの良い背景の読み物があります re: オブジェクトキーの周りの引用符:
c# - コンストラクターを呼び出さずにWCF逆シリアル化でオブジェクトをインスタンス化するにはどうすればよいですか?
WCF のデシリアライゼーションには魔法がかかっています。コンストラクターを呼び出さずに、データ コントラクト型のインスタンスをどのようにインスタンス化しますか?
たとえば、次のデータ コントラクトを考えてみましょう。
経由でこのオブジェクトのインスタンスを取得するDataContractSerializer
と、フィールド_wasConstructorCalled
がfalse
.
では、WCF はこれをどのように行うのでしょうか。これは他の人も使用できるテクニックですか、それとも私たちから隠されていますか?
c# - クラスのリストを XML にシリアライズする
XML ファイルにシリアル化するクラスのコレクションがあります。次のようになります。
バーは、次のように、プロパティのコレクションの単なるラッパーです。
これをマークアップして、XML ファイルに出力するようにします。これは、永続化の両方に使用され、XSLT を介して設定を人間が判読できる形式にレンダリングするためにも使用されます。
次のような素敵な XML 表現を取得したい:
Barlist 内のすべての Bar は、すべてのプロパティとともに書き出されます。クラス定義を機能させるには、何らかのマークアップが必要になると確信していますが、適切な組み合わせが見つからないようです。
Foo を属性でマークしました
とlist<Bar>
属性を持つ
私が何をしたいのかをシリアライザーに伝えようとしています。ただし、これは機能していないようで、次のような空のタグが表示されます。
自動プロパティを使用しているという事実が何らかの効果をもたらすかどうか、またはジェネリックの使用に特別な処理が必要かどうかはわかりません。これは、文字列のリストのような単純な型で動作するようになりましたが、これまでのところ、クラスのリストはわかりません。
xml - JSON と XML の Groovy 解析
Groovy を使用すると、JSON と XML の読み取りとクエリの速度とメモリ オーバーヘッドの点でパフォーマンスが向上すると思いますか?
c# - シリアル化の問題
状況はこのようなものです: メイン プロジェクト A. とクラス ライブラリ B. A は B を参照します
プロジェクト B には、シリアル化されるクラスがあります。クラスは A で使用されます。ここで、Project AI から B のオブジェクトをシリアル化しようとすると、問題が発生します。A のクラスをシリアル化できないという例外がスローされます。BI のクラスでは A のクラスを参照できないため、これは奇妙な部分です (循環依存関係が作成されます)。
問題を追跡するにはどうすればよいですか? 例外メソッドは問題が発生した場所を示していないためですか?
編集:わかりました、 Kent Boogaartの小さなアプリの 助けを借りて問題を見つけました:D。プロジェクト A のクラスに、Serializable とマークされていない PropertyChanged リスナーがあり、そのようにマークしたくありません。(そのクラスを右にシリアライズしますか?)
このリンクをたどってイベントの問題を解決しました: .NET 2.0 solution to serialization of objects that raise events . まだ問題がありますが、おそらく似たようなものです。
PS: Kent Boogaart の優れたツール
java - Hibernateコレクションを適切にシリアル化する方法は?
Hibernateで取得されたデータベースからオブジェクトをシリアル化しようとしていますが、オブジェクトの実際のデータ全体(サイクルを含む)にのみ関心があります。
今、私はXStreamを使用していますが、これは強力なようです。XStreamの問題は、情報を盲目的に見ていることです。すべてのHibernateメタデータが含まれている状態で、HibernateのPersistentCollectionsをそのまま認識します。それらをシリアル化したくありません。
したがって、PersistentCollection内から元のコレクションを抽出し、オブジェクトが指している可能性のあるすべての参照データを初期化する合理的な方法はありますか。それとも、より良いアプローチを私に勧めてもらえますか?
(Simpleの結果は完璧に見えますが、Calendarなどの基本的なutilクラスには対応できません。また、一度に1つの注釈付きオブジェクトのみを受け入れます)
java - オブジェクトのシリアル化: スレッド状態は関与できませんよね?
実行中のプログラムの状態をディスクに保存し、それを元に戻す基本原則を詳しく調べています。私たちが持っている現在の設計では、各オブジェクト(関数ポインタリストを備えたCレベルのものであり、一種の低レベルの自家製オブジェクト指向であり、このようにするのには非常に正当な理由があります)明示的な状態を書き込み可能で復元可能な形式にエクスポートするために呼び出されます。これを機能させるための重要な特性は、オブジェクトに関連するすべての状態が実際にオブジェクト データ構造にカプセル化されていることです。
一部のオブジェクトにアタッチされたユーザーレベルのスレッドがあるアクティブなオブジェクトを操作する他のソリューションがあります。したがって、プログラム カウンター、レジスタの内容、およびスタックの内容は、突然プログラム状態の一部になります。私の知る限り、そのようなものを任意の時点でディスクにシリアライズする良い方法はありません。スレッドは、プログラムカウンターなどによって何も表されない特別な状態に自分自身をパークする必要があるため、基本的に実行状態マシンの状態を明示的なオブジェクト状態に「保存」する必要があります。
私はさまざまなシリアライゼーション ライブラリを見てきましたが、これは普遍的なプロパティであると言えます。
中心的な質問は次のとおりです。それとも、実際にはそうではないのでしょうか。スレッドが実行されているコードの場所に関して、スレッドの状態を含めることができる保存/復元ソリューションはありますか?
システム状態全体を仮想マシンに保存することはカウントされないことに注意してください。これは実際には状態をシリアル化するのではなく、マシンをフリーズして移動するだけです。これは明らかな解決策ですが、ほとんどの場合、少し重いです。
いくつかの質問により、私たちが物事をどのように行うかという考えを十分に説明できていないことが明らかになりました。私たちはシミュレーターシステムに取り組んでおり、その中で実行されるコードに対して非常に厳しいルールを書くことが許可されています。特に、オブジェクトの構築とオブジェクトの状態を完全に区別します。インターフェイス関数ポインターは、システムをセットアップするたびに再作成され、状態の一部ではありません。状態は、内部ランタイム表現とストレージ表現の間で変換する定義済みの get/set 関数をそれぞれ持つ特定の指定された「属性」のみで構成されます。オブジェクト間のポインターの場合、それらはすべて名前に変換されます。したがって、私たちの設計では、オブジェクトはストレージ内で次のようになる可能性があります。
リンクされたリストは、シミュレーション構造に実際に存在することはありません。各オブジェクトは、ある種のハードウェアのユニットを表します。
問題は、一部の人々がこれを行いたいが、動作をコード化する方法としてスレッドを持っていることです。ここでの「動作」は、実際にはシミュレーション ユニットの状態の変化です。基本的に、私たちが持っている設計では、そのような変更はすべて、呼び出され、作業を行い、戻るアトミックな完全操作で行う必要があると述べています。すべての状態はオブジェクトに格納されます。リアクティブ モデルがあるか、「完了まで実行」または「イベント ドリブン」と呼ぶことができます。
これについての別の考え方は、オブジェクトにアクティブなスレッドを持たせることです。これは、古典的な Unix スレッドと同じように永久ループに留まり、決して終了しません。これは、ディスクに適切に保存できるかどうかを確認しようとしているケースですが、その下に VM を挿入しないと実現できないようです。
更新、2009 年 10 月:これに関連する論文が 2009 年の FDL カンファレンスで公開されました。チェックポイントと SystemC に関するこの論文を参照してください。
python - Python のキーと値のペアのリストを含む構成ファイル
これらのメッセージをグループ化するために、一連のエラー メッセージを分析し、各メッセージが特定のパターン (正規表現) に一致するかどうかをチェックする Python スクリプトがあります。たとえば、「ファイル x が存在しません」と「ファイル y が存在しません」は「ファイル .* が存在しません」と一致し、「ファイルが見つかりません」カテゴリの 2 つのオカレンスとしてカウントされます。
パターンとカテゴリの数が増えているので、これらの "正規表現/表示文字列" の組み合わせを構成ファイル (基本的には何らかの辞書のシリアル化) に入れたいと思います。
このファイルを手動で編集できるようにしたいので、あらゆる形式のバイナリ シリアライゼーションを破棄します。また、エスケープする文字の問題を回避するために xml シリアライゼーションに頼りたくありません (& <> など... )。
これを達成するための良い方法は何か考えがありますか?
更新: Daren Thomas と Federico Ramponi に感謝しますが、外部の python ファイルに任意のコードを含めることはできません。