不使用第三方库,从 JSON 获取动态对象的最佳方法是什么?

3

我正在寻找将JSON转换为dynamic对象的最简单/最好方法,最好没有第三方依赖项(由于各种原因)。目前,我有以下内容,但它需要从C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies引用System.Web.Helpers,这感觉有点恶心。

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

1
发现了这个通过 NuGet 安装的单个 .cs 文件 - 看起来工作得很好:http://nuget.org/packages/DynamicJson - Danny Tuppeny
你到底想通过不使用任何标准的 JSON 包来做什么?是试图消除 .NET 中最常见的 DLL 地狱之一吗? - Chris Marisic
@DannyTuppeny,你在每个页面请求上创建一个新的应用程序域吗? - Chris Marisic
@ChrisMarisic 表达不太准确 - 我相信它被加载到另一个应用程序域中(由 FogBugz 而非我),但它只是为每个请求创建插件的新实例,而不是整个应用程序域。 - Danny Tuppeny
@DannyTuppeny,既然如此,您最好使用ServiceStack的JSON,我相信它应该是最高效的。 - Chris Marisic
显示剩余3条评论
1个回答

0

我知道你不想使用第三方库,但DynamicJson是最好的库。它简单易用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接