Cách chuyển đổi JSON sang lớp C#

Cach Chuyen Doi Json Sang Lop C



JSON hoặc Ký hiệu đối tượng JavaScript dựa trên một tập hợp con của ngôn ngữ lập trình JavaScript, nhưng ngôn ngữ này độc lập với ngôn ngữ và có thể được sử dụng với bất kỳ ngôn ngữ lập trình nào có trình phân tích cú pháp JSON. để sử dụng JSON dữ liệu trong lập trình C#, người ta cần chuyển đổi JSON đến một lớp C# . Điều này giúp các lập trình viên có thể tương tác với dữ liệu theo cách an toàn về kiểu, giúp giảm nguy cơ mắc lỗi và giúp mã dễ bảo trì hơn.

Làm việc với JSON dữ liệu trong C# thường xuyên yêu cầu chuyển đổi dữ liệu JSON vào trong lớp C# có thể dễ dàng chỉnh sửa và sử dụng trong ứng dụng. Hướng dẫn này sẽ đi qua quá trình chuyển đổi JSON dữ liệu sang các lớp C#, với các ví dụ về mã để giúp bạn thực hiện.







Cách chuyển đổi JSON thành Lớp C#

Các bước để chuyển đổi một JSON đến một Lớp C# là:



Bước 1: Phân tích dữ liệu JSON



Bước đầu tiên trong việc chuyển đổi JSON đến một lớp C# là phân tích dữ liệu JSON và xác định cấu trúc của nó. Điều này liên quan đến việc xác định các khóa hoặc thuộc tính của dữ liệu và các loại dữ liệu tương ứng của chúng. Khi thông tin này được thu thập, chúng ta có thể bắt đầu tạo một lớp C# tương ứng sẽ biểu thị dữ liệu JSON.





Bước 2: Tạo một lớp C# đại diện cho dữ liệu JSON

Các JSON tên của dữ liệu sau đó được sử dụng để xác định một lớp. Bên trong lớp này, chúng tôi định nghĩa các thuộc tính khớp với các khóa trong JSON dữ liệu. Chúng tôi đặt các loại dữ liệu của các thuộc tính để khớp với các loại dữ liệu của các giá trị trong JSON dữ liệu. Ví dụ, nếu một khóa trong JSON dữ liệu có giá trị là một chuỗi, chúng ta định nghĩa thuộc tính tương ứng trong lớp C# là một chuỗi.



Bước 3: Giải tuần tự hóa dữ liệu JSON

Sau khi tạo lớp C#, bước tiếp theo là deserialize lớp JSON dữ liệu vào một thể hiện của lớp. Điều này là có thể với Newtonsoft.Json thư viện, cung cấp API đơn giản để giải tuần tự hóa JSON dữ liệu. Bạn cần cài đặt và nhập khẩu Newtonsoft.Json gói để sử dụng nó trong mã của bạn. Tạo một thể hiện của Trình nối tiếp Json lớp và gọi khử lưu huỳnh phương pháp, bàn giao trong JSON data dưới dạng chuỗi và lớp C# làm tham số kiểu chung:

sử dụng Newtonsoft.Json;

// dữ liệu JSON
chuỗi json = '{' tên ':' John Smith ',' tuổi ':30}' ;
// C # lớp học
lớp công cộng Người
{
Tên chuỗi công khai { lấy; bộ ; }
int công khai Tuổi { lấy; bộ ; }
}
// Deserialize dữ liệu JSON thành một đối tượng Person
Người người = JsonConvert.DeserializeObject < Người > ( json ) ;

Các JSON dữ liệu trong ví dụ này là một đối tượng đơn giản có thuộc tính tên và tuổi, và lớp C# là lớp Người có các thuộc tính tương tự. JsonConvert.DeserializeObject được sử dụng để chuyển đổi JSON dữ liệu vào một đối tượng Người có thể được chỉnh sửa và sử dụng trong ứng dụng.

Bước 4: Thao tác với đối tượng C#

Sau khi khử lưu huỳnh dữ liệu JSON thành một đối tượng C# , nó có thể được thao tác và sử dụng trong ứng dụng như mong muốn. Các thuộc tính có thể được đọc hoặc thiết lập, các phương thức có thể được gọi và đối tượng có thể được cung cấp dưới dạng tham số cho các thủ tục hoặc hàm khác.

Đây là một ví dụ về cách làm việc với Người đối tượng bạn đã tạo ở bước trước:

// Nhận người 'tên của
tên chuỗi = person.Name;

// Đặt người'
Hiền nhân
người.Tuổi = 31 ;

// Gọi một phương thức trên đối tượng người
người.PrintChi tiết ( ) ;

Đối tượng người được sử dụng trong ví dụ này để lấy tên của người đó, đặt tuổi của người đó và gọi InChi tiết phương thức trên đối tượng.

Đây là một mã hoàn chỉnh chứng minh làm thế nào để chuyển đổi JSON thành một lớp C# .

sử dụng Hệ thống;
sử dụng Newtonsoft.Json;

không gian tên JsonToClassVí dụ
{
chương trình lớp học
{
khoảng trống tĩnh chính ( sợi dây [ ] tranh luận )
{
chuỗi json = @ '{
'firstName': 'Larry',
'họ': 'Kevin',
'Địa chỉ': {
'đường phố': 'Phố Chính',
'thành phố': 'Venice',
}
}'
;

Rootobject myObject = JsonConvert.DeserializeObject < rootobject > ( json ) ;

Console.WriteLine ( 'Tên đầu tiên là:' + myObject.firstName ) ;
Console.WriteLine ( 'Họ tên là:' + myObject.lastName ) ;
Console.WriteLine ( 'Đường phố là:' + myObject.address.street ) ;
Console.WriteLine ( 'Thành phố này là: ' + myObject.address.city ) ;


Console.ReadLine ( ) ;
}
}

lớp công khai Rootobject
{
chuỗi công khai FirstName { lấy; bộ ; }
chuỗi công khai LastName { lấy; bộ ; }
Địa chỉ công khai { lấy; bộ ; }
}

lớp công khai
{
đường dây công cộng { lấy; bộ ; }
thành phố chuỗi công cộng { lấy; bộ ; }
}
}

Đoạn mã trên trình bày cách sử dụng Gói Newtonsoft.Json NuGet ĐẾN khử lưu huỳnh Một Chuỗi JSON thành một lớp C# . Chuỗi JSON bao gồm thông tin về tên và họ của một người, cũng như địa chỉ của họ (đường phố và thành phố). Là các lớp C#, các lớp Rootobject và Địa chỉ thiết lập cấu trúc của dữ liệu JSON.

Các JsonConvert.DeserializeObject phương thức được sử dụng để chuyển đổi một chuỗi JSON thành một rootobject ví dụ. Dữ liệu sau đó được hiển thị trên bảng điều khiển bằng cách truy cập các thuộc tính của rootobject và các lớp địa chỉ. Các Console.ReadLine phương pháp được sử dụng để tạm dừng chương trình trước khi nó kết thúc.

đầu ra

Các cách khác để chuyển đổi JSON sang C#

Bạn cũng có thể sao chép các JSON dữ liệu vào clipboard và sử dụng một Trình tạo lớp JSON sang C# để tạo lớp C#. Có một số công cụ trực tuyến, chẳng hạn như Json2CSharp Loại nhanh , điều đó có thể giúp bạn tạo lớp C# của mình từ JSON dữ liệu. Dán JSON dữ liệu trong trường thích hợp và để công cụ tạo lớp C# cho bạn. Cách tiếp cận này là đơn giản và nhanh chóng. Tuy nhiên, vì mục đích học tập, bạn phải làm theo phương pháp đầu tiên.

Phần kết luận

Chuyển đổi dữ liệu JSON sang lớp C# liên quan đến việc phân tích các JSON dữ liệu, tạo một lớp C# tương ứng và giải tuần tự hóa dữ liệu JSON thành đối tượng lớp C#. Quá trình này có thể hữu ích khi làm việc với JSON dữ liệu trong các ứng dụng C#, giúp đọc, thao tác và gửi dữ liệu đến các dịch vụ web hoặc API dễ dàng hơn. Dịch nhanh JSON sang C# , bạn cũng có thể sử dụng một số công cụ web, chẳng hạn như Json2CSharp Loại nhanh .