C#提供了非常方便的方法來將JSON數據解析為對象或者將對象序列化為JSON數據,但是在操作中我們常常會遇到JSON數據中包含特殊字符的情況,C#為此提供了轉義的方法。
string jsonData = "{\"name\":\"Bob\",\"age\":20,\"job\":\"developer\"}"; Console.WriteLine(jsonData);
如上面的例子,當我們需要將一個對象序列化為JSON數據時,使用“\”對特殊字符進行了轉義,這樣可以保證JSON數據格式的正確性。
public class Person { public string name { get; set; } public int age { get; set; } public string job { get; set; } } Person p = new Person { name = "Alice", age = 30, job = "\"Designer\"" }; string jsonData = JsonConvert.SerializeObject(p); Console.WriteLine(jsonData);
如上面的例子,當我們需要將一個包含了特殊字符(如雙引號)的對象序列化為JSON數據時,使用JsonConvert.SerializeObject方法會自動將特殊字符進行轉義。
string jsonData = "{\"name\":\"Bob\",\"age\":20,\"job\":\"developer\"}"; Console.WriteLine(jsonData); dynamic obj = JsonConvert.DeserializeObject(jsonData); Console.WriteLine(obj.name); Console.WriteLine(obj.age); Console.WriteLine(obj.job);
如上面的例子,當我們需要將JSON數據反序列化為對象時,使用JsonConvert.DeserializeObject方法會自動將轉義的特殊字符還原。