ホームページ  >  記事  >  バックエンド開発  >  .netでのシリアル化の詳細説明

.netでのシリアル化の詳細説明

PHPz
PHPzオリジナル
2017-04-03 11:59:161467ブラウズ

.net でのシリアル化

一般的なシリアル化形式と方法

.net では、一般的なシリアル化形式は主に json、バイナリ、xml であり、次の表にまとめています。

.netでのシリアル化の詳細説明

先頭に戻る

注意事項

エンティティ属性のラベル付けのルールについて:

1. .net でシリアル化に使用されるすべてのエンティティのクラスに [Serializable] マークを追加する必要があります。 json をシリアル化する場合は問題ありませんが、バイナリ シリアル化に BinaryFormatter を使用するとエラーが報告されます。

2. wcf で適用する場合、すべてのエンティティのクラスに [DataContract] タグを追加し、フィールドに [DataMember] を追加する必要があります。

3. newtonsoft.jsonを使用する場合、エンティティクラスに[DataContract]を追加すると、[DataMember]で追加されるフィールドと追加されないフィールドがありますが、[DataMember]で追加されないフィールドも追加する必要があります。シリアル化中に含まれるフィールドは、[JsonObject(MemberSerialization.OptOut)] をエンティティ クラスに追加することで解決できます。これは、すべてのパブリック フィールドを出力することを意味します。

4. newtonsoft.json を使用する場合、System.Web.UI.WebControls.ListItem をシリアル化できない。解決策は、クラスをカスタマイズして [シリアル化可能] としてマークすることです。

トップに戻る

概要

1. json 形式の場合、NewtonSoft.Json が最も汎用性が高く (循環参照を処理できます)、最速ではありません。

2. XML 形式の場合は、.net に付属の XmlSerializer を使用します。

3. バイナリ形式の場合は、.net に付属の BinaryFormatter を使用します。 Protobuf は高速ですが、シリアル番号を追加するのが面倒です。

以上が.netでのシリアル化の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。