C# 什么';在没有第三方库的情况下,从JSoN获取动态对象的最佳方法是什么?
我正在寻找将JSON转换为C# 什么';在没有第三方库的情况下,从JSoN获取动态对象的最佳方法是什么?,c#,asp.net,json,api,serialization,C#,Asp.net,Json,Api,Serialization,我正在寻找将JSON转换为动态对象的最简单/最好的方法,最好没有任何第三方依赖关系(出于各种原因)。目前,我有以下内容,但需要从C:\ProgramFiles(x86)\Microsoft ASP.NET\ASP.NET网页\v1.0\Assembly中引用System.Web.Helpers,这感觉有点恶心 var webClient = new WebClient(); var jsonSerializer = new JavaScriptSerializer(); var url = s
动态
对象的最简单/最好的方法,最好没有任何第三方依赖关系(出于各种原因)。目前,我有以下内容,但需要从C:\ProgramFiles(x86)\Microsoft ASP.NET\ASP.NET网页\v1.0\Assembly
中引用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);
var-webClient=new-webClient();
var jsonSerializer=新的JavaScriptSerializer();
var url=string.Format(GetBoardUrl、TrelloDevKey、TrelloTestAuthToken);
var result=webClient.DownloadString(url);
var json=jsonSerializer.Deserialize(结果);
动态板=新的DynamicJsonObject(json);
控制台写入线(board.id);
如果没有
System.Web.Helpers
引用,我只能得到json
变量,该变量可以工作,但我必须从字典访问属性(例如board[“id”]
)。我可以接受这一点,但我(还)不准备相信我不能用纯框架的方法做到这一点!:D我知道您不想使用第三方库,但DynamicJson是最好的库。它简单易用我不知道这是否与您的System.Web.Helpers
解决方案相同,但对我来说效果很好:据我所知,唯一的“System.*”JSON序列化程序是System.Web.Helpers.dll中的一个。但是,如果您只是不顾一切地不使用第三方库,您可以编写自己的解析器吗?JSON的语法是.Found,这是一个可以通过NuGet安装的.cs文件,似乎工作得很好:那么,不使用任何标准JSON包,您到底想做什么呢?试图消除.NET中DLL地狱最常见的一点吗?@chrismaric这不是一个要求,只是一个偏好。这是一个FogBugz插件,它被加载到另一个AppDomain中(我认为在每个页面请求中都会重新创建),所以如果我能保持它的精简并避免依赖性,这是有意义的。