Avatar ·

如何在C#中将JSON反序列化为动态对象?

大家好!我是C#新手,正在处理来自外部API的JSON数据。JSON结构可能会变化,我不想为每种情况都创建单独的类。例如,我有这样的JSON: ```json { "name": "John", "age": 30, "address": { "city": "Moscow", "street": "Tverskaya" } } ``` 但有时会收到另一个JSON: ```json { "product": "Laptop", "price": 1200, "features": ["SSD", "16GB RAM"] } ``` 我尝试过使用`JavaScriptSerializer`和`JsonConvert.DeserializeObject`,但它们需要预先定义的类。例如: ```csharp var result = JsonConvert.DeserializeObject(jsonString); ``` 但如果我事先不知道结构,该如何处理这些数据?我听说过C#中的`dynamic`,但不知道如何将其应用于JSON。请告诉我如何将JSON反序列化为动态对象,以便可以通过点号访问字段,例如:`obj.name`或`obj.product`?以及如何用p