問題タブ [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.
c# - jQueryによってシリアル化されるようにJavaScriptの日付をフォーマットするにはどうすればよいですか
型を介してjavascript
date
送信できるようにを設定しようとしていますが、これを実行しようとすると、 を fullに設定します。型に変換するにはどのような形式にする必要がありますか?JSON
.NET
jQuery
date
string
.NET
私はMonoRail
サーバー上でタイプへのバインディングを実行するために使用していますが、コード.NET
に適切に送信するには、フォームの非表示フィールドの値を何に設定するかを知る必要があり.NET
ます。
xml - IEnumerable と ICollection の XML シリアル化の防止継承される型(&)
注: XMLIgnoreは答えではありません。
OK、それでXML Serialization and Inherited Typesに関する私の質問に続いて、私はそのコードを私が取り組んでいるアプリケーションに統合し始めました.
IEnumerableとICollection<T>を実装するいくつかのクラスで問題が発生しました
これらの問題は、XMLSerializer がこれらをシリアライズしようとすると、それらを外部プロパティと見なし、使用したいプロパティ (つまり、AbstractXmlSerializerのプロパティ) を使用する代わりに、ここに来てフォールオーバーすることです (原因:型の不一致)、ほぼ振り出しに戻ります。これらのメソッドをXmlIgnore属性で装飾することもできないため、その方法で停止することはできません。
私の現在の解決策は、インターフェイスの実装を削除することです (この現在のアプリケーションでは、それは大したことではなく、コードをきれいにしただけです)。
これに対する私のプライドを飲み込み、それができないことを受け入れる必要がありますか? 私はちょっとプッシュして、XmlSerializer から予想以上のものを得たことを知っています:)
編集
また、追加する必要があります。現在、フレームワーク 2 で作業しています。
アップデート
lomaxx の回答を受け入れました。私のシナリオでは、実際にこれを行うことはできませんが、うまくいくことはわかっています。他に提案がなかったため、コードからインターフェイスの実装を削除することになりました。
ms-access - Access 2003 と OLE オブジェクト データ型に関するパフォーマンスの問題
MS Access 2003 (私は知っています) では、OLE オブジェクト データ型を使用して、シリアル化可能としてマークされたいくつかのオブジェクトの状態を保持しています (IO.BinaryFormatter を使用して MemoryStream にシリアル化し、それを保存するだけです)。バイト配列として db に)。これは varbinary または blob のように機能しますか? 誰もが知っている陰に迫っている落とし穴はありますか? パフォーマンスに関するアドバイスや戦争の話はありますか? どんなアドバイスでも助かります。
xml - .NET 3.5 SP1 での XmlSerializer の変更
.NET 3.5 SP1 の変更点に関する投稿はかなりの数見てきましたが、昨日のドキュメントをまだ見ていない投稿に出くわしました。私のマシンでは、VS、msbuild コマンド ライン、すべてから正常に動作するコードがありましたが、ビルド サーバー (.NET 3.5 RTM を実行) では失敗しました。
SP1 では、上記のコードは問題なく動作します。RTM では、InvalidOperationException が発生します。
一時クラスを生成できません (結果 = 1)。エラー CS0200: プロパティまたはインデクサー 'ConsoleApplication2.Foo.Bar' を割り当てることができません -- 読み取り専用です
もちろん、RTM で実行するために必要なのは、[XmlIgnore] を Bar プロパティに追加することだけです。
私のGoogle fuは、これらの種類の変更のドキュメントを見つけることができないようです。この変更をリストする変更リストはどこにありますか (および、ジャンプして「落とした」と叫ぶ可能性のある同様のボンネットの下の変更)? これはバグですか、それとも機能ですか?
EDIT : SP1 では、<Bar />
要素を追加するか、Bar プロパティに [XmlElement] を設定すると、逆シリアル化されません。SP1 より前のバージョンでは、デシリアライズを試行しても失敗しません。XmlSerializer の構築時に例外がスローされます。
これにより、特に Foo.Bar に [XmlElement] 属性を設定した場合は、バグである可能性が高くなります。私が要求したことを実行できない場合は、Foo.Bar を黙って無視するのではなく、例外をスローする必要があります。XML シリアライゼーション属性のその他の無効な組み合わせ/設定は、例外になります。
編集: ありがとう、TonyB、一時ファイルの場所の設定について知りませんでした。今後同様の問題が発生する場合は、追加の構成フラグが必要です。
Bar プロパティに [XmlElement] 属性を設定しても、生成されたシリアライゼーション アセンブリではそれについて言及されていませんでした。これは、これを静かに飲み込んだエラー (別名、バグ) の領域にかなり確実に置きます。それか、設計者が、設定できないプロパティには [XmlIgnore] は不要であると判断したかのどちらかです。これは、リリース ノート、変更リスト、またはXmlIgnoreAttribute ドキュメントで確認できます。
asp.net - オブジェクトをJSON文字列に手動でシリアル化する.Net AJAXに組み込まれた方法はありますか?
ScriptingJsonSerializationSection
見つけたのですが、使い方がわかりません。<System.Web.Services.WebMethod()>
オブジェクトを JSON 文字列に手動で変換する関数を作成することもできますが、.Net は属性と属性を使用してオンザフライで実行できる<System.Web.Script.Services.ScriptMethod()>
ため、組み込みの方法が欠けている必要があります。
PS: Asp.Net 2.0 と VB.Net を使用 - 私はこれをタグに入れましたが、人々はそれを見逃したと思います。
java - JavaでのXMLシリアライゼーション?
.NET の XML シリアライゼーションの Java 版は何ですか?
sql - データベースに永続化された vb.net オブジェクト
vb.net ユーザー定義オブジェクトを SQL データベースに格納するにはどうすればよいですか。プロパティを列で複製しようとしているわけではありません。オブジェクトをバイト配列に変換またはエンコードし、それをデータベースのフィールドに格納するという行に沿った何かを意味します。オブジェクトのインスタンスをセッションに保存する場合と同様ですが、現在のセッションを過ぎても情報を保持する必要があります。
@オリオン・エドワーズ
スタンスの問題ではありません。ある日、コードを変更するからです。次に、古いオブジェクトをデシリアライズしようとすると、プログラムがクラッシュします。
私のプログラムは「クラッシュ」せず、例外をスローします。幸運なことに、.net には、そのような機会に特化した一連のクラスがあります。その時点で、古いデータを更新してデータベースに戻します。それがこの 1 つのフィールド (場合によってはスタンス) のポイントです。
java - 静的初期化を使用したJavaシリアル化
Javaでは、静的フィールドと一時フィールドはシリアル化されません。ただし、静的フィールドを初期化すると、生成されたserialVersionUIDが変更されることがわかりました。たとえばstatic int MYINT = 3;
、serialVersionUIDを変更します。この例では、クラスのバージョンが異なれば初期値も異なるため、これは理にかなっています。初期化によってserialVersionUIDが変更されるのはなぜですか?たとえばstatic String MYSTRING = System.getProperty("foo");
、serialVersionUIDも変更されます。
具体的には、メソッドで初期化するとserialVersionUIDが変更されるのはなぜですか。私が遭遇した問題は、システムプロパティ値(getProperty)で初期化された新しい静的フィールドを追加したことです。この変更により、リモート呼び出しでシリアル化例外が発生しました。
javascript - クロスブラウザ方式でJavaScriptを使用してDOMをXMLテキストにシリアル化するにはどうすればよいですか?
XMLオブジェクトがあります(XMLHTTPRequest
'sを使用してロードされますresponseXML
)。オブジェクトを(jQueryを使用して)変更し、文字列のテキストとして保存したいと思います。
Firefoxなどでそれを行う簡単な方法があるようです。
(ロゼッタコードから)
しかし、 IE6や他のブラウザで(もちろんFirefoxを壊すことなく)どのようにそれを行うのでしょうか?
xml - XML に代わる優れたデータ形式は何ですか?
確かに、XML は非常に便利ですが、非常に冗長になる可能性があります。どのような代替手段があり、それらは特定の目的に特化していますか? コンテンツを簡単に調べるためのライブラリ サポートは、大きなプラス ポイントです。