2012-01-31 28 views
3

我正在尋找最簡單/最好的方法來將JSON轉換爲dynamic對象,最好沒有任何第三方依賴(出於各種原因)。目前,我有以下內容,但需要參考C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\AssembliesSystem.Web.Helpers,這感覺有點討厭。沒有第三方庫的情況下從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 – 2012-01-31 20:33:15

+0

據我所知,唯一的「System。*」JSON序列化程序是System.Web.Helpers中的一個。 DLL。但是如果你只是不想使用第三方庫,你總是可以編寫自己的解析器? JSON的語法[非常簡單](http://www.json.org/)。 – 2012-01-31 20:33:22

+1

發現這個,可以通過NuGet安裝的單個.cs文件 - 似乎工作得很好:http://nuget.org/packages/DynamicJson – 2012-01-31 20:41:57

回答

0

我知道你不想使用第三方庫,但DynamicJson是最好的庫。它的簡單&容易

相關問題