JSON字符串反序列化为匿名类型
时间: 2023-11-27 16:41:17 浏览: 122
要将 JSON 字符串反序列化为匿名类型,可以使用 `JsonConvert.DeserializeAnonymousType` 方法。以下是一个示例代码:
```csharp
string json = "{\"Property1\":\"Value1\",\"Property2\":\"Value2\"}";
var data = new { Property1 = "", Property2 = "" };
var result = JsonConvert.DeserializeAnonymousType(json, data);
Console.WriteLine(result.Property1);
Console.WriteLine(result.Property2);
```
在上述示例中,我们有一个 JSON 字符串 `json`,表示一个具有两个属性的匿名对象。然后,我们使用 `JsonConvert.DeserializeAnonymousType` 方法将 JSON 字符串反序列化为匿名对象 `data`。注意,我们需要提供一个空的匿名对象作为目标类型,以便 JSON 库知道要创建什么样的对象。
最后,我们可以通过访问 `result` 对象的属性来获取反序列化后的值,并将它们输出到控制台上。
输出结果将是:
```
Value1
Value2
```
需要注意的是,匿名类型的属性名称和顺序必须与 JSON 字符串中的属性名称和顺序完全匹配,否则反序列化可能会失败。此外,匿名类型是只读的,一旦创建就无法修改其属性值。如果需要更复杂的数据结构或可变性,可以考虑使用自定义类或结构。
阅读全文