シリアル化されたASP.Net Ajaxオブジェクトのプロパティ名を制御する
-
02-07-2019 - |
質問
最初に、2つの「種類」があることを知っています。現在ASP.Netに組み込まれているJSONシリアル化:JavaScriptSerializerクラスを使用してオブジェクトをJSONにシリアル化するか、新しいDataContractJsonSerializerクラスを使用してオブジェクトをJSONに変換できます。
JavaScriptSerializer()メソッドを使用する場合、クラスをSerializable()としてマークする必要があります-DataContractJsonSerializerメソッドを使用する場合、クラスをDataContract()としてマークし、プロパティをDataMembers()としてマークする必要があります。
必要に応じて、各DataMembersのNAME属性を指定できるため、プロパティがシリアル化/非シリアル化されると、その名前が使用されます。私の目的のために、これはJSONを「言葉遣い」ではないようにするのに役立つと考えています。たとえば、" UserID"と記述する代わりに、私のプロパティとして(そしてJSONオブジェクト全体でそれを繰り返すように)、単純に" u"を使用したいと思います。ネットワーク全体のデータの減少など。
2つのシリアル化エンジンは少し異なるレンダリングを行い、JavaScriptSerializerはASP.Net Web / Scriptメソッドでのみ使用できます。そこに私の問題があります。
通常のJavaScriptSerializerを使用したシリアライゼーション/デシリアライゼーションのためだけに、プロパティ名を別の名前に設定する同等の方法はありますか?
解決
いいえ、ありません。
他のヒント
UTF-8では、この手法により40ビットをネットワーク上で保存していると想定しますが、これはスリープを失う価値はありません。