C#是一種面向對象的編程語言,廣泛用于Windows操作系統上的開發。在開發過程中,使用JSON作為數據交換格式是常見的。本文將介紹如何在C#中發送和接收JSON數據。
發送JSON數據:
using System; using System.Net.Http; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; namespace SendingJsonExample { class Program { static async Task Main(string[] args) { var payload = new { Name = "John", Age = 30 }; var json = JsonConvert.SerializeObject(payload); using (var client = new HttpClient()) { client.BaseAddress = new Uri("https://example.com/"); var response = await client.PostAsync("/api/user", new StringContent(json, Encoding.UTF8, "application/json")); } } } }
以上代碼使用HttpClient發送JSON數據。首先,創建了一個名為payload的匿名對象,然后使用JsonConvert.SerializeObject方法將其轉換為JSON格式。接下來使用HttpClient發送POST請求到指定的URL,傳遞JSON數據作為請求體。
接收JSON數據:
using System; using System.Net.Http; using System.Threading.Tasks; using Newtonsoft.Json; namespace ReceivingJsonExample { class Program { static async Task Main(string[] args) { using (var client = new HttpClient()) { client.BaseAddress = new Uri("https://example.com/"); var response = await client.GetAsync("/api/user/1"); var content = await response.Content.ReadAsStringAsync(); var user = JsonConvert.DeserializeObject(content); Console.WriteLine($"Name: {user.Name}, Age: {user.Age}"); } } } class User { public string Name { get; set; } public int Age { get; set; } } }
以上代碼使用HttpClient接收JSON數據。首先,使用HttpClient發送GET請求到指定的URL,接下來讀取響應的內容,最后使用JsonConvert.DeserializeObject方法將JSON數據轉換回User對象。
在以上兩個例子中,我們都使用了Newtonsoft.Json庫來處理JSON數據。這是C#中最流行的JSON庫之一,具有易用性和高性能。