.net でのシリアル化
.net では、一般的なシリアル化形式は主に json、バイナリ、xml であり、次の表にまとめています。
先頭に戻る
エンティティ属性のラベル付けのルールについて:
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 サイトの他の関連記事を参照してください。