Chuyển đổi JSON Text Qua đối Tượng Trong C# | CongChien Blog
Có thể bạn quan tâm
Bạn cần chuyển đổi dữ liệu text dưới dạng JSON qua một đối tượng tương ứng, ví dụ sau đây sẽ giúp bạn giải quyết vấn đề trên
Ví dụ chuỗi string sau dưới dạng JSON:
{ "hoten": "Luong Cong Chien", "masv": "123456", "ngaysinh": "01/02/1987" }Để truy xuất dữ liệu trong C#, ta có thể sử dụng 1 trong 2 cách sau đây:
Cách 1: Chuyển qua một đối tượng cụ thể:
Ở đây ta sẽ định nghĩa 1 lớp đối tượng tương ứng, cụ thể là lớp đối tượng sinhvien như sau
public class sinhvien { public string hoten{ get; set; } public string masv { get; set; } public string ngaysinh{ get; set; } }Chuyển đổi json qua đối tượng:
using System.Web.Script.Serialization; JavaScriptSerializer jss = new JavaScriptSerializer(); sinhvien sv = jss.Deserialize<sinhvien>(JsonText);Cách 2: Chuyển qua dạng dữ liệu động (dynamic), cách này sẽ linh động hơn:
using System.Web.Script.Serialization; JavaScriptSerializer jss = new JavaScriptSerializer(); var obj = jss.Deserialize<dynamic>(JsonText); Console.WriteLine(obj["hoten"]); //outputs Luong Cong ChienĐối với các đối tượng phức tạp hơn, ví dụ:
{ "hoten": "Luong Cong Chien", "masv": "123456", "ngaysinh": "01/02/1987", "diachi":{"sonha":"123","quan":"govap"}, "diemthi":[{"mon":"toan","diem":"10"},{"mon":"ly","diem":"9"},{"mon":"hoa","diem":"8"}] }Ở đây mình hay sử dụng cách thứ 2, chuyên qua dạng dynamic, khi đó muốn truy xuất dữ liệu như sonha, quan, hoặc điểm thi môn toán, lý hóa ta làm như sau:
using System.Web.Script.Serialization; JavaScriptSerializer jss = new JavaScriptSerializer(); var obj = jss.Deserialize<dynamic>(JsonText); Console.WriteLine(obj["hoten"]); //output -> Luong Cong Chien Console.WriteLine(obj["diachi"]["sonha"]); //output -> 123 Console.WriteLine(obj["diachi"]["quan"]); //output -> govap Console.WriteLine(obj["diemthi"][0]["mon"]); //output -> toan Console.WriteLine(obj["diemthi"][0]["diem"]); //output -> 10 Console.WriteLine(obj["diemthi"][1]["mon"]); //output -> ly Console.WriteLine(obj["diemthi"][1]["diem"]); //output -> 9
Ở đây tôi có thể sử dụng vòng lặp để truy xuất từng record trong mục diemthi:
for(int i=0; i<obj["diemthi"].Length;i++) { string mon = obj["diemthi"][i]["mon"]; string diem = obj["diemthi"][i]["diem"]; }
Nguồn: chiencong.com , vui lòng ghi rõ nguồn gốc của bài viết này
Từ khóa » đọc File Json Trong C#
-
Xử Lý Json Trong C# – Norid's Blog
-
Sử Dụng Dữ Liệu JSON Trong C# Với Thư Viện Newtonsoft
-
Đọc Và Ghi File JSON Sử Dụng JsonConvert Trong C#
-
Parse JSON Bằng C# - Phan Tiến Quang
-
[VB.NET] Hướng Dẫn Cách đọc Dữ Liệu Json Trên Winform Một Cách ...
-
Sử Dụng .NET để Xác Thực JSON Bằng Lược đồ JSON - Comdy
-
Tạo File Dữ Liệu JSON Trong C# Với Thư Viện Newtonsoft
-
Read And Process JSON File With C# - Microsoft Q&A
-
Read And Parse A Json File In C# - Stack Overflow
-
Chương Trình Quản Lý Sinh Viên C# + Import/Export JSON + File
-
[C#] Hướng Dẫn Convert Dataset To File Json Trong Lập Trình Csharp
-
Bài 52: Tạo định Dạng JSON Trong C# Service Vs Android