2009-05-06 1 views

答えて

14

http://aaron-powell.spaces.live.com/blog/cns!91A824220E2BF369!150.entry

DataContractJsonSerializer 1つのシリアライズはWCFの大きな焦点となっているので、DataContractJsonSerializerの主な目的は、WCFで使用されるべきです。また、シリアライゼーションに使用できる特定のプロパティのみを持つ複雑なクラスを処理することもできます。 このクラスは、より厳密に型指定されています。扱う型に関する知識が豊富で、不正な形式のJSONのエラー処理が改善されています。

JavaScriptSerializer このクラスは、迅速なシリアライズのためにはるかに優れていますが、これはよりカウボーイなアプローチです。シリアライズされるプロパティに対するエラーチェックやコントロールの必要性が少なくなります。

更新

上記のリンクが死んでいるように、ここで別のリンクです:http://kb.cnblogs.com/a/1454030が。

+0

ライブスペースがWordPress.comに移動したためリンクが壊れています。リダイレクトもありません。この記事は他のどこでも利用できますか? – EAMann

+0

@ EAMann:更新を参照してください – Kamarey

+0

誰かが理由を明記せずに6年間の回答をdownvoteするためにとても愚かですか? – Kamarey

1

JavaScriptSerializerは、フレームワーク3.5では廃止とマークされています。あなたはその理由でそれを使用すべきではありません。しかし、あなたの質問に戻ってください。 JavaScriptSerializerでは、クラスを[Serializable]または[DataContract]としてマークする必要はありませんが、DataContractJsonSerializerはそのようにします。属性でマークできないクラスをコンパイルした場合は、古いJSONシリアライザを使用することができます。ここで見つける

+11

実際には、3.5 SP1で再びマークされていません –

+1

興味深い、Marc。私はそれを知らなかった。それを指摘してくれてありがとう。 –

9

個人的に、私はJson.NETを見たい - これは、.NET 2.0互換

+0

JavaScriptSerializerも2.0互換です... – bdukes

+8

本当ですか? MSDNは3.5と言う... –

関連する問題