JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,已成為現(xiàn)在前后端數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)。在C#中使用Newtonsoft.Json可以方便地處理json數(shù)據(jù)。本篇文章將介紹C#中的json格式化輸出。
using Newtonsoft.Json; // 原始json數(shù)據(jù) string json = "{\"name\": \"Tom\", \"age\": 18}"; // json格式化輸出 string formattedJson = JsonConvert.SerializeObject(JsonConvert.DeserializeObject(json), Formatting.Indented); Console.WriteLine(formattedJson);
上述代碼中,使用JsonConvert.DeserializeObject將原始json字符串轉(zhuǎn)換為對(duì)象,再使用JsonConvert.SerializeObject將對(duì)象序列化為格式化后的json字符串。其中,F(xiàn)ormatting.Indented表示以縮進(jìn)格式輸出json字符串,使其更易讀,也可省略不寫(xiě)。
{ "name": "Tom", "age": 18 }
若要將一個(gè)類的實(shí)例對(duì)象序列化為json字符串,則需要在類中添加JsonProperty特性來(lái)指定其對(duì)應(yīng)json屬性名。
using Newtonsoft.Json; public class Person { [JsonProperty(PropertyName = "MyName")] public string Name { get; set; } public int Age { get; set; } } Person person = new Person() { Name = "Tom", Age = 18 }; string formattedJson = JsonConvert.SerializeObject(person, Formatting.Indented); Console.WriteLine(formattedJson);
{ "MyName": "Tom", "Age": 18 }
使用C#中的json格式化輸出,可以讓我們更清晰明了地查看和處理json數(shù)據(jù),提高了開(kāi)發(fā)效率。