Arduino ứng dụng, Chưa được phân loại, ESP8266, IOT

ARDUINO VỚI JSON V6 (PHẦN 3)

Xin chào tất cả các bạn, trong 2 phần trước thì chúng ta đã tìm hiểu về JD. Nó chỉ là nơi lưu dữ liệu. Nhưng chúng ta phải cần nhiều hơn thế nữa chứ, phải không nào. Phần này mình sẽ giới thiệu những thứ mới nữa, đó là JsonVariant (JV), JsonObject (JO) và JsonArray (JA) những cái này sẽ giúp chúng ta thêm, sửa, xóa các loại biến mà JD đang lưu.

Chúng ta cần lưu ý là JV, JO, JA vẫn sẽ tham chiếu đến JD để lấy dữ liệu chứ nó không giữ dữ liệu. Tức là mọi thao tác đều sẽ ảnh hưởng đến JD. Tuy nhiên, ArduinoJson vẫn hổ trợ kiểu hằng để chúng ta lấy dữ liệu, khi này việc thay đổi giá trị sẽ không được phép.

1. JsonVariant :

Cái này nó sẽ chữa bất kỳ kiểu dữ liệu nào được hổ trợ: boolean, integer, floating, string, array, object.

Các thao tác trên JV đều tương tự như trên JD, nhưng nó sẽ có thêm 2 thứ:

JsonVariant::set(var): Lệnh này sẽ truyền biến var vào JV.

Tham số:

var: các kiểu dữ liệu cơ bản (số, chuỗi, logic) và JA, JO, JV.

Trả về:

true: nếu thành công.

false: nếu thất bại.

Ví dụ:

Kết quả:

JsonVariant::operator|(def) : Toán tử này sẽ thực hiện thao tác gán giá trị mặc định def cho kết quả nếu 

Tham số:

def: các kiểu dữ liệu cơ bản (số, chuỗi, logic).

Trả về:

kiều của def mà ta truyền vào, nếu thất bại thì sẽ trả về giá trị của def.

Ví dụ:

Kết quả:

2. JsonObject:

Dữ liệu ở dạng này sẽ lưu theo kiểu key-value tức là mỗi từ khóa sẽ có một giá trị tương ứng (như từ điển).  Chúng ta vẫn có thể dùng các thao tác cơ bản như trên JD cho JO. Ngoài ra JO còn có thêm 2 thao tác cần chú ý:

JsonObject::containsKey(key): Lệnh này sẽ kiểm tra xem key có tồn tại trong JO hay không.

Tham số:

key: các loài kiểu chuỗi.

Trả về:

true: nếu có key trong JO.

false: nếu không có key trong JO.

Ví dụ:

Kết quả

JsonObject::begin() / JsonObject::end(): Đây là thao tác giúp chúng ta có thể duyệt các key trong JO.

ví dụ:

Kết quả:

3. JsonArray:

Cái này nó sẽ giúp chúng ta thao tác như là một mảng, các thao tác tương tự như JD, và thao tác duyệt phần tử thì như JO.

ví dụ:

Kết quả:

Mình có tham khảo nội dung tại trang chủ: https://arduinojson.org

 

hết.

Được gắn thẻ , , ,

Trả lời

Email của bạn sẽ không được hiển thị công khai.