C#語言中的JSON值可以使用Newtonsoft.Json庫進行操作和序列化。這個庫提供了JsonConvert類來處理JSON對象和JSON字符串之間的相互轉換,以及對JSON屬性的讀寫操作。在使用JsonConvert進行序列化和反序列化時,我們需要在類上添加JsonProperty特性來指定JSON屬性名,否則將使用類的屬性名。
public class Person { [JsonProperty("name")] public string Name { get; set; } [JsonProperty("age")] public int Age { get; set; } [JsonProperty("gender")] public string Gender { get; set; } }
例如,在上面的Person類中,JsonProperty特性指定了屬性在JSON中對應的屬性名稱,將被序列化和反序列化。使用它來序列化一個Person實例:
Person person = new Person { Name = "Tom", Age = 25, Gender = "Male" }; string json = JsonConvert.SerializeObject(person); // {"name":"Tom","age":25,"gender":"Male"}
在上面的代碼中,JsonConvert.SerializeObject()方法將Person類的實例序列化為JSON字符串。注意,序列化后的JSON字符串中屬性名與JSON屬性標識符匹配。
同樣地,使用JsonConvert.Deserialize()方法可以反序列化JSON字符串為對象:
string json = "{\"name\":\"Tom\",\"age\":25,\"gender\":\"Male\"}"; Person person = JsonConvert.DeserializeObject<Person>(json);
在上面的代碼中,JsonConvert.DeserializeObject()方法將JSON字符串反序列化為Person類的實例。不過要指定泛型參數Person,以告訴方法要返回的對象類型。反序列化后的Person實例與序列化前的實例完全相同。
總之,在C#中操作JSON值非常簡單和便利。使用Newtonsoft.Json庫可以輕松地序列化和反序列化對象,以及讀寫JSON屬性。
上一篇c解析json效率
下一篇c解析json格式數據