Chuyển văn bản thành JSON

Chuyển Văn Bản Thành Json


Chuyển dòng văn bản thành JSON

Chuyển văn bản thành JSON. Bạn có một số văn bản cách nhau bởi các dòng và bây giờ bạn muốn chuyển chúng thành đối tượng JSON? Công cụ này sẽ giúp bạn. Bạn chỉ việc dán văn bản của bạn vào và nhận JSON ở ngay bên cạnh. Thật dễ phải không!

Chuyển đổi JSON Text qua đối tượng trong C#

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"];
}
Scroll to Top
small_c_popup.png

Learn how we helped 100 top brands gain success.

Let's have a chat