有没有办法将JSON内容反序列化为C#4动态类型?为了使用DataContractJsonSerializer,跳过创建一堆类会很不错.
我不确定我是否没有得到大局,或者我是否只是错过了一些东西,但是将 JSON-String 解析为动态对象有什么好处?
如果我有一堂这样的课
class Product
{
public string Name { get; set; }
public double Price { get; set; }
public string Category { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我使用 HttpClient 来获取这样的对象
Product product = await response.Content.ReadAsAsync<Product>();
Run Code Online (Sandbox Code Playgroud)
我从这段代码中得到什么好处?
string content = await response.Content.ReadAsStringAsync();
dynamic product = JObject.Parse(content);
Run Code Online (Sandbox Code Playgroud)
如果我想使用它们,我需要写
product.Name
Run Code Online (Sandbox Code Playgroud)
使用强类型方法,我至少有智能感知。如果服务更改了产品,动态方法也无济于事,因为我仍然需要像上面提到的那样访问它。
那么我错过了什么?我为什么要使用动力学或何时使用?
我是一名Web开发人员,目前正在使用mvc3 razor和Umbraco来创建Web应用程序.我没有长时间从事这项工作,并且已经从使用动态元素转变为强类型元素以遵循标准.
我从来没有真正给出太多理由,在线搜索似乎很清楚它更容易遵循和调试集类型变量,但我很困惑在函数中使用它.
例如,当使用Umbraco内容时,我现在切换到1Umbraco.TypedContent1.我猜测它会返回一个强类型变量,但除了调试之外还有其它任何好处吗?