JSON được xây dựng trên 2 cấu trúc:
- Là tập hợp của các cặp tên và giá trị name-value. Trong những ngôn ngữ khác nhau, đây được nhận thấy như là 1 đối tượng (object), sự ghi (record), cấu trúc (struct), từ điển (dictionary), bảng băm (hash table), danh sách khoá (keyed list), hay mảng liên hợp.
- Là 1 tập hợp các giá trị đã được sắp xếp. Trong hầu hết các ngôn ngữ, this được nhận thấy như là 1 mảng, véc tơ, tập hợp hay là 1 dãy sequence.
Có 2 loại json cơ bản:
- Json Object
- Json Array
I. Json Object:
Được chứa bởi cặp (Name và Value, cặp name và value cách nhau bởi dấu hai chấm (":"))Cú pháp mẫu Json Object.
{"firstName":"John", "lastName":"Doe"}
II. Json Array:
Được bao bởi cặp dấu ngoặc vuông "[]"Cú pháp mẫu Json Array.
"employees":[ {"firstName":"John", "lastName":"Doe"}, {"firstName":"Anna", "lastName":"Smith"}, {"firstName":"Peter", "lastName":"Jones"} ]
Hướng dẫn đọc dữ liệu Json trên VB.NET
Để đọc json mình dưới thiệu 3 công cụ và website sau:
1. Công cụ làm đẹp chuỗi json (https://codebeautify.org/jsonviewer)
2. Công cụ chuyển chuỗi Json Sang Class VB.NET or C#: Sử dụng Json Utils ở link => (http://www.jsonutils.com/)
3. Sử dụng thư viện Json.NET cài đặt vào Project bằng Nuget:
PM> Install-Package Newtonsoft.Json -Version 12.0.3
Bắt đầu thực hành đọc dữ liệu Json (Đọc chuỗi Json phức tạp bao gồm json object và json array).
VD: Chuổi JSON
{"id": "0001", "type": "donut", "name": "Cake", "ppu": 0.55, "batters": {"batter": [{ "id": "1001", "type": "Regular" }, { "id": "1002", "type": "Chocolate" }, { "id": "1003", "type": "Blueberry" }, { "id": "1004", "type": "Devil's Food" } ] }, "topping": [{ "id": "5001", "type": "None" }, { "id": "5002", "type": "Glazed" }, { "id": "5005", "type": "Sugar" }, { "id": "5007", "type": "Powdered Sugar" }, { "id": "5006", "type": "Chocolate with Sprinkles" }, { "id": "5003", "type": "Chocolate" }, { "id": "5004", "type": "Maple" } ] }
Video Demo đọc dữ liệu Json từng bước:
Bước 1: Tạo 1 class với tên clsJson.vb với source code bên dưới
Imports Newtonsoft.Json Public Class clsJson Public Class Batter <JsonProperty("id")> Public Property Id As String <JsonProperty("type")> Public Property Type As String End Class Public Class Batters <JsonProperty("batter")> Public Property Batter As Batter() End Class Public Class Topping <JsonProperty("id")> Public Property Id As String <JsonProperty("type")> Public Property Type As String End Class Public Class JsonDemo <JsonProperty("id")> Public Property Id As String <JsonProperty("type")> Public Property Type As String <JsonProperty("name")> Public Property Name As String <JsonProperty("ppu")> Public Property Ppu As Double <JsonProperty("batters")> Public Property Batters As Batters <JsonProperty("topping")> Public Property Topping As Topping() End Class End Class
Bước 2: Source code Full Form Main
Imports Newtonsoft.Json Imports ReadJsonVB.clsJson Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim json As String = RichTextBox1.Text Dim data = JsonConvert.DeserializeObject(Of JsonDemo)(json) 'Cái truyền tên Class vào 'DataGridView1.DataSource = data.Batters.Batter DataGridView1.DataSource = data.Topping Label2.Text = data.Id Label3.Text = data.Type Label4.Text = data.Name Label5.Text = data.Ppu End Sub End Class
Chúc mọi người thành công. Hay có thể tải source code phía bên dưới để tìm hiểu thêm về thủ thuật trên nhé. (mình đã loại bỏ đi một số thứ để tiện cho người dùng đọc và tìm hiểu rồi nhé - nếu có gì chưa hiểu thì có thể về trang viết bài để tìm hiểu rỏ hơn nhé.)
Theo LapTrinhVB.Net