0

クラスのシリアル化 (シリアル化) をオーバーライドするベスト プラクティスの方法は何ですか?

具体的には、キーと値のペアのコレクションがあります。デフォルトで生成される JSON は次のようになります。

[{"Key":1,"Value":"A"},{"Key":2,"Value":"B"},{"Key":3,"Value":"C"},{"Key":4,"Value":"D"},{"Key":5,"Value":"E"},{"Key":6,"Value":"F"}]

これは非常に無駄です。

[{"1":"A":},{"2":"B":},{"3":"C":},{"4] のようなものを生成するためにオーバーライドしたいと思います。 ":"D":},{"5":"E":},{"6":"F":}]

これは、長さの半分から 1 バイト離れており、javascript の最後で使いやすくなっています。

実装ISerliazableが機能していないようです-jsonシリアライザーがそれを無視していると思います

Google は私にこれを見つけまし たhttp://blogs.msdn.com/b/carlosfigueira/archive/2011/09/06/wcf-extensibility-serialization-callbacks.aspxより良い方法である必要がありますか?

4

1 に答える 1

0

わかりましたので、ここに奇妙なことがあります。

コレクションをSortedListに変更したところ、実際に必要なjsonが得られました。

したがって、これは私の特定の例では機能しますが、シリアライゼーションをオーバーライドしたい場合が他にもあると想像できます。

于 2013-01-15T10:42:27.830 に答える