如何在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