C# WinForms是一種應(yīng)用程序框架,它可以輕松開(kāi)發(fā)Windows桌面應(yīng)用程序。隨著Web應(yīng)用程序的流行,使用JSON格式來(lái)交換數(shù)據(jù)變得很普遍。在C# WinForms應(yīng)用程序中,您可能需要將數(shù)據(jù)以JSON格式返回給前端,以便前端可以處理呈現(xiàn)。
為了返回JSON,您需要使用Newtonsoft JSON序列化庫(kù),它是.NET平臺(tái)上最流行的序列化庫(kù)之一。
using Newtonsoft.Json; public class Person { public int Id { get; set; } public string Name { get; set; } } public partial class Form1 : Form { private Listpeople = new List { new Person { Id = 1, Name = "Tom" }, new Person { Id = 2, Name = "Jerry" }, new Person { Id = 3, Name = "Mickey" } }; private void btnReturnJson_Click(object sender, EventArgs e) { string json = JsonConvert.SerializeObject(people); //返回JSON字符串 } }
在上面的例子中,我們創(chuàng)建了一個(gè)Person類(lèi),并在Form1中添加了一個(gè)名稱(chēng)為people的列表。當(dāng)點(diǎn)擊btnReturnJson按鈕時(shí),我們使用JsonConvert.SerializeObject方法將people列表序列化為JSON字符串并返回該字符串。
現(xiàn)在,我們討論一下如何將JSON字符串返回給前端。
private void btnReturnJson_Click(object sender, EventArgs e) { string json = JsonConvert.SerializeObject(people); HttpListenerResponse response = context.Response; response.ContentType = "application/json"; byte[] buffer = Encoding.UTF8.GetBytes(json); response.ContentLength64 = buffer.Length; Stream outputStream = response.OutputStream; outputStream.Write(buffer, 0, buffer.Length); outputStream.Close(); }
在上面的例子中,我們使用C#中的HttpListenerResponse對(duì)象將JSON字符串返回給前端。ContentType屬性被設(shè)置為application/json,以指示響應(yīng)是JSON格式的。我們使用UTF8編碼將JSON字符串轉(zhuǎn)換為位元組,并將其寫(xiě)入OutputStream中。最后,我們關(guān)閉OutputStream,完成向前端返回JSON字符串的過(guò)程。
這就是C# WinForms中如何返回JSON的基本示例。希望本文能對(duì)您有所幫助。