2012-01-31 9 views
3

私は、JSONをdynamicオブジェクトに変換するのが最も簡単で最善の方法を探しています。さまざまな理由から、サードパーティの依存関係がなくてもかまいません。現在、私は次のようなことがありますが、参照する必要がありますSystem.Web.HelpersからC:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies、少し厄介な感じ。サードパーティのライブラリなしでJSoNから動的オブジェクトを取得する最も良い方法は何ですか?

var webClient = new WebClient(); 
var jsonSerializer = new JavaScriptSerializer(); 

var url = string.Format(GetBoardUrl, TrelloDevKey, TrelloTestAuthToken); 
var result = webClient.DownloadString(url); 
var json = jsonSerializer.Deserialize<dynamic>(result); 
dynamic board = new DynamicJsonObject(json); 

Console.WriteLine(board.id); 

System.Web.Helpers参照することなく、私は限り動作しますjson変数として取得することができますが、私は辞書(例えば。board["id"])からプロパティにアクセスする必要があります。私はこれで生きることができましたが、私はフレームワークのみの方法でこれを行うことができないと(まだ)準備ができていません! :D

+0

これはあなたの 'System.Web.Helpers'ソリューションと同じかどうかわかりませんが、うまくいきました。http://www.drowningintechnicaldebt.com/ShawnWeisfeld/archive/2010 /08/22/using-c-4.0-and-dynamic-to-parse-json.aspx –

+0

私の知る限り、System.Web.HelpersのJSONシリアライザは、System。*の唯一のシリアライザです。 dll。しかし、サードパーティ製のライブラリを使用したくないのであれば、いつでも独自のパーサーを書くことができます。 JSONの構文は[非常に簡単です](http://www.json.org/)です。 –

+1

NuGet経由でインストール可能な単一の.csファイル - うまくいくようです:http://nuget.org/packages/DynamicJson –

答えて

0

私はサードパーティのライブラリを使用したくないことは知っていますが、DynamicJsonが最良のライブラリです。単純な&簡単な

関連する問題