繁体   English   中英

JSON到动态对象与强类型对象

[英]JSON to Dynamic Object vs. Strongly Typed Object

我不确定是否不了解全局,还是只是错过了什么,但是将JSON-String解析为动态对象有什么好处?

如果我有这样的课程

class Product
{
    public string Name { get; set; }
    public double Price { get; set; }
    public string Category { get; set; }
}

我使用HttpClient获得这样的对象

Product product = await response.Content.ReadAsAsync<Product>();

我可以从此代码中受益吗?

string content = await response.Content.ReadAsStringAsync();
dynamic product = JObject.Parse(content);

如果我想使用它们,我需要写

product.Name

使用强类型的方法,我至少具有智能。 如果服务更改了产品,那么动态方法也无济于事,因为我仍然需要像上面提到的那样访问它。

那我想念什么呢? 为什么要使用动力学?何时使用动力学?

与动态(性能\\便利)相比,您总是喜欢使用强类型。

在某些情况下,您想使用动态:

  1. 当您想解析xml并且不想使用XElement,XPath等时。

  2. COM互操作-它使事情变得非常简单和好用(尝试使用Excel \\ Word,您将被说服)。

  3. 在某些情况下,最好使用动态方式而不是反射方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM