Cách GET dữ liệu JSON từ API bằng C#

Hướng dẫn cách lấy dữ liệu JSON từ một API bằng C#, sử dụng lớp HttpClient và thư viện Newtonsoft.Json để xử lý dữ liệu.

Trong bài viết này, chúng ta sẽ tìm hiểu cách thực hiện yêu cầu GET đến một API và lấy dữ liệu JSON về bằng C#. Chúng ta sẽ sử dụng lớp HttpClient để gửi yêu cầu và Newtonsoft.Json để phân tích cú pháp dữ liệu.

using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;

namespace GetJsonDataFromApi
{
    class Program
    {
        static async Task Main(string[] args)
        {
            string url = "https://api.example.com/data"; // Thay đổi URL với API thực tế
            using HttpClient client = new HttpClient();
            var response = await client.GetAsync(url);

            if (response.IsSuccessStatusCode)
            {
                string jsonData = await response.Content.ReadAsStringAsync();
                var data = JsonConvert.DeserializeObject<YourDataType>(jsonData);
                Console.WriteLine(JsonConvert.SerializeObject(data, Formatting.Indented));
            }
            else
            {
                Console.WriteLine($"Lỗi: {response.StatusCode}");
            }
        }
    }

    public class YourDataType
    {
        // Định nghĩa các thuộc tính tương ứng với cấu trúc JSON ở đây
    }
}

Giải thích chi tiết từng dòng code

  1. using System;: Nhập không gian tên System, chứa các lớp cơ bản.
  2. using System.Net.Http;: Nhập không gian tên System.Net.Http để sử dụng HttpClient.
  3. using System.Threading.Tasks;: Nhập không gian tên System.Threading.Tasks để hỗ trợ lập trình bất đồng bộ.
  4. using Newtonsoft.Json;: Nhập không gian tên Newtonsoft.Json để sử dụng thư viện JSON.
  5. static async Task Main(string[] args): Phương thức Main bất đồng bộ, điểm khởi đầu của chương trình.
  6. string url = "https://api.example.com/data";: Đường dẫn URL của API cần truy cập.
  7. using HttpClient client = new HttpClient();: Khởi tạo một đối tượng HttpClient để gửi yêu cầu HTTP.
  8. var response = await client.GetAsync(url);: Gửi yêu cầu GET tới URL và chờ nhận phản hồi.
  9. if (response.IsSuccessStatusCode): Kiểm tra xem yêu cầu có thành công hay không.
  10. string jsonData = await response.Content.ReadAsStringAsync();: Đọc nội dung phản hồi và chuyển đổi nó thành chuỗi JSON.
  11. var data = JsonConvert.DeserializeObject<YourDataType>(jsonData);: Phân tích cú pháp chuỗi JSON thành kiểu dữ liệu mà bạn đã định nghĩa.
  12. Console.WriteLine(JsonConvert.SerializeObject(data, Formatting.Indented));: In ra dữ liệu đã phân tích cú pháp theo định dạng đẹp.
  13. else { Console.WriteLine($"Lỗi: {response.StatusCode}"); }: In ra mã lỗi nếu yêu cầu không thành công.

Yêu cầu hệ thống

  • .NET Core 3.1 hoặc .NET 5.0 trở lên
  • Thư viện: Newtonsoft.Json

Cách cài đặt các thư viện để chạy được đoạn mã C# trên

Sử dụng NuGet Package Manager để cài đặt Newtonsoft.Json:

Install-Package Newtonsoft.Json

Lời khuyên

  • Hãy đảm bảo URL API bạn sử dụng là chính xác và có thể truy cập được.
  • Kiểm tra xem API có yêu cầu xác thực không và xử lý điều đó nếu cần thiết.


Các Hướng Dẫn Cùng Chủ Đề Đang Xem

Gửi đoạn mã JavaScript vào website bằng Selenium trong C#

Hướng dẫn cách sử dụng Selenium trong C# để gửi một đoạn mã JavaScript vào một website mở trong trình duyệt Chrome. Bài viết sẽ cung cấp mã mẫu và giải thích chi tiết từng bước.
Xử lý đa luồng trong C#

Hướng dẫn chi tiết về cách xử lý đa luồng trong C# giúp bạn tận dụng hiệu quả tài nguyên của CPU, đồng thời tăng hiệu suất của ứng dụng thông qua việc thực thi nhiều công việc đồng thời.
Cách mở ứng dụng Notepad bằng C#

Hướng dẫn cách mở ứng dụng Notepad sử dụng C# thông qua lớp `Process` trong .NET. Bài viết này sẽ giúp lập trình viên C# biết cách thao tác với các ứng dụng bên ngoài thông qua mã lệnh đơn giản.
Chức năng thường dùng khi sử dụng Selenium Chrome trong C#

Bài viết này sẽ liệt kê và mô tả các chức năng thường dùng khi sử dụng Selenium Chrome trong C#. Những chức năng này giúp bạn tự động hóa các tác vụ trên trình duyệt Chrome một cách hiệu quả.
Cách UPDATE dữ liệu từ database MySQL bằng C#

Hướng dẫn cách sử dụng Prepared Statements trong C# để cập nhật dữ liệu trong bảng MySQL một cách an toàn và hiệu quả với nhiều tham số.
Truyền Authentication Header Token khi POST dữ liệu tới API bằng C#

Hướng dẫn cách truyền Authentication Header Token khi gửi yêu cầu POST tới API bằng ngôn ngữ lập trình C# bằng cách sử dụng HttpClient và Bearer Token.
Tạo ứng dụng chat đơn giản sử dụng Socket.IO trong C#

Hướng dẫn chi tiết cách tạo ứng dụng chat đơn giản sử dụng Socket.IO trong C#, giúp bạn hiểu cách thức hoạt động của giao tiếp thời gian thực và xây dựng ứng dụng tương tác.
Hướng dẫn đọc nội dung file Excel bằng C#

Hướng dẫn chi tiết cách đọc nội dung từ file Excel (.xlsx, .xls) bằng C#, sử dụng thư viện EPPlus với các bước cài đặt và ví dụ minh họa cụ thể.
Cách chuyển đổi chữ cái Unicode có dấu thành không dấu trong C#

Hướng dẫn chi tiết cách chuyển đổi các ký tự Unicode có dấu tiếng Việt thành ký tự không dấu bằng C#.
Cách SELECT dữ liệu từ database MySQL bằng C#

Hướng dẫn cách sử dụng C# để truy vấn dữ liệu từ một bảng trong database MySQL bằng Prepared Statements với nhiều tham số, giúp đảm bảo an toàn và hiệu quả.

Đã thêm vào giỏ hàng