web-dev-qa-db-ja.com

C#でのJSONシリアル化

私はローカルオブジェクトをjsonにシリアライズしようとしていますが、msdnドキュメントは常に私を混乱させるようです。 DataContractJsonSerializerを使用することになっていると思いますが、完全な確信はありません。また、Newtonsoftを推奨する人もいました。

誰かが私を正しい方向に導くことができる経験を持っていますか?

39
Brandon Clapp

JavaScriptSerializerを使用できます。

http://msdn.Microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx

var thing = new Thing();
var json = new JavaScriptSerializer().Serialize(thing);
67
Chris Farmer

まあServiceStackのJSONシリアライザー最速 。NET JSONシリアライザー です。

また、159kbだけで計量することも非常に軽量であり、多くの有用な機能が含まれていることも言及していません。 .NETの最速 [〜#〜] jsv [〜#〜] および [〜#〜] csv [〜#〜] テキストシリアライザー、 T.Dump () utils + more。

7
mythz

非常に具体的なjsonのニーズがない限り、フレームワークシリアライザーを使用してください。最終的な問題に関するより多くのフィードバックがあります。

4
lstern

.NETには非常に多くのjsonライブラリがあり、何らかのシリアル化を提供します。 http://json.org/ の下部を見て、C#のJSONライブラリのリストを見つけます。どちらが最適かは、ニーズによって異なります。個人的にはシリアライザーが非常に遅いことがわかりましたが、Newtonsoftのjson.netを使用しました。速度が必要な場合、Servicestackは最速のものを要求します( here )。このサイトでは、いくつかのパフォーマンス比較も示していますが、試したことはありません。

Googlingを実行するか、単に試してみるか、テストを作成するか、フレームワークを選択して余分な依存関係を導入せずに完了してください。

4
Marcus