C#中的反序列化是指将JSON字符串转换为C#对象的过程。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。
在C#中,常用的反序列化库有:
反序列化在许多应用场景中都非常有用,例如:
假设你有一个奇怪格式的JSON数组,如下所示:
[
{
"id": 1,
"name": "Alice",
"age": 30
},
{
"id": 2,
"name": "Bob",
"age": 25
}
]
假设你有一个C#类来表示这个JSON对象:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
使用Newtonsoft.Json进行反序列化:
using Newtonsoft.Json;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
string json = @"
[
{
""id"": 1,
""name"": ""Alice"",
""age"": 30
},
{
""id"": 2,
""name"": ""Bob"",
""age"": 25
}
]";
List<Person> people = JsonConvert.DeserializeObject<List<Person>>(json);
foreach (var person in people)
{
Console.WriteLine($"Id: {person.Id}, Name: {person.Name}, Age: {person.Age}");
}
}
}
JsonProperty
属性来指定JSON键名称:JsonProperty
属性来指定JSON键名称:通过以上步骤,你应该能够成功反序列化奇怪格式的JSON数组。如果遇到其他问题,请提供具体的错误信息以便进一步诊断。
领取专属 10元无门槛券
手把手带您无忧上云