在ASP.NET中,可以使用JavaScriptSerializer類來將對象轉換為JSON字符串,以及將JSON字符串轉換為對象。以下是一個示例代碼:
using System;
using System.Web.Script.Serialization;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class JsonExample
{
public static void Main()
{
Person person = new Person { Name = "John", Age = 30 };
// 將對象轉換為JSON字符串
JavaScriptSerializer serializer = new JavaScriptSerializer();
string jsonString = serializer.Serialize(person);
Console.WriteLine("JSON String: " + jsonString);
// 將JSON字符串轉換為對象
Person deserializedPerson = serializer.Deserialize<Person>(jsonString);
Console.WriteLine("Deserialized Object: " + serializer.Serialize(deserializedPerson));
}
}
輸出結果:
JSON String: {"Name":"John","Age":30}
Deserialized Object: {"Name":"John","Age":30}
請注意,JavaScriptSerializer類在.NET Framework中可用,但在.NET Core和.NET 5及更高版本中已被棄用。在這些新版本中,可以使用System.Text.Json命名空間中的JsonSerializer類來進行JSON序列化和反序列化。以下是一個使用System.Text.Json的示例代碼:
using System;
using System.Text.Json;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class JsonExample
{
public static void Main()
{
Person person = new Person { Name = "John", Age = 30 };
// 將對象轉換為JSON字符串
string jsonString = JsonSerializer.Serialize(person);
Console.WriteLine("JSON String: " + jsonString);
// 將JSON字符串轉換為對象
Person deserializedPerson = JsonSerializer.Deserialize<Person>(jsonString);
Console.WriteLine("Deserialized Object: " + JsonSerializer.Serialize(deserializedPerson));
}
}
輸出結果與前面的示例相同:
JSON String: {"Name":"John","Age":30}
Deserialized Object: {"Name":"John","Age":30}