C#使用Json作為數(shù)據(jù)格式的時候,需要進行Json的序列化和反序列化操作,同時也需要進行Json的格式化操作。為此,我們需要使用Json.Net這個第三方庫。需要在代碼中引入Newtonsoft.Json這個命名空間。
using Newtonsoft.Json;
一般而言,使用Json的時候都需要聲明一個類來對應Json數(shù)據(jù)結(jié)構(gòu),后續(xù)對Json的操作都是基于這個類進行的。這個類的屬性名需要和Json中的屬性名相對應,可以使用JsonProperty屬性來進行映射,如下所示:
public class Person { [JsonProperty("name")] public string Name { get; set; } [JsonProperty("age")] public int Age { get; set; } }
以上定義了一個Person類,其中包含了一個名稱為Name的字符串類型的屬性和一個名稱為Age的整數(shù)類型的屬性,它們分別與Json數(shù)據(jù)中的"name"和"age"屬性相對應。
如果要將一個Person類對象轉(zhuǎn)換為Json字符串,可以使用JsonConvert.SerializeObject方法:
var person = new Person { Name = "Jack", Age = 20 }; var json = JsonConvert.SerializeObject(person);
如果要將一個Json字符串轉(zhuǎn)換為一個Person類對象,可以使用JsonConvert.DeserializeObject方法:
var json = "{\"name\":\"Jack\",\"age\":20}"; var person = JsonConvert.DeserializeObject(json);
在對Json進行格式化的時候,可以使用JsonConvert.SerializeObject的重載方法,其中第二個參數(shù)Formatting可以指定格式化方式,如下所示:
var json = JsonConvert.SerializeObject(person, Formatting.Indented);
以上就是使用C#操作Json所需要的基本知識和代碼引用。
上一篇vue js引用ts
下一篇c#傳json到前端