Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 🎯 [Bài học căn bản nhưng cực kỳ quan trọng trong Network Automation]

    🎯 [Bài học căn bản nhưng cực kỳ quan trọng trong Network Automation]
    👉 Nếu bạn đang học lập trình mạng hoặc làm việc với API (đặc biệt là RESTCONF/NETCONF), thì việc hiểu rõ JSON – JavaScript Object Notation là chìa khóa vàng. Đây là cách các thiết bị hiện đại giao tiếp với nhau bằng API thay vì dòng lệnh truyền thống.
    JSON là gì?


    JSON là một định dạng dữ liệu dạng văn bản được dùng để trao đổi dữ liệu giữa client và server, hay giữa các hệ thống mạng. Nó cực kỳ phổ biến vì:
    • Dễ đọc với con người 👀
    • Dễ xử lý bằng máy móc 🤖
    • Tương thích tốt với các ngôn ngữ lập trình như Python, JavaScript, Go...

    JSON hoạt động bằng cách tổ chức dữ liệu theo cặp key-value (khóa-giá trị), tương tự như dictionary trong Python hoặc map trong Golang.
    📌 Cấu trúc chính của JSON


    JSON chỉ dùng 2 cấu trúc chính:
    1. Object – Dạng {} chứa các cặp khóa-giá trị
    2. Array – Dạng [] chứa danh sách các giá trị (có thể là object hoặc array khác)
    🔍 Ví dụ 1 – JSON dạng object:


    { "device": { "name": "csr1kv1", "vendor": "cisco", "uptime": "2 days" } }
    🔍 Ví dụ 2 – JSON dạng danh sách lồng object:

    [ { "hostname": "csr1kv1", "snmp": [ {"name": "public", "permission": "ro"}, {"name": "private", "permission": "rw"} ] } ]
    🐍 Làm việc với JSON trong Python

    ✅ Python hỗ trợ JSON rất tốt thông qua module json:
    • json.dumps() – Chuyển từ dictionary → JSON string
    • json.loads() – Chuyển từ JSON string → Python object
    ▶️ Ví dụ:

    import json facts = { "device": { "name": "csr1kv1", "uptime": "2 days" } } # Chuyển thành JSON string json_data = json.dumps(facts, indent=4) # In đẹp print(json_data) # Ngược lại: chuyển từ JSON string thành Python dict facts_dict = json.loads(json_data) print(facts_dict["device"]["uptime"]) # output: 2 days
    ❓ Một số lưu ý thực chiến:
    • JSON chỉ là chuỗi, nên để xử lý cần "parse" nó sang object Python.
    • JSON không phải là dictionary, nhưng có thể ánh xạ 1-1.
    • Bạn có thể dễ dàng kết hợp JSON với API requests bằng requests.get().json().

    🎯 Ôn tập nhanh


    Câu hỏi: Những chuỗi nào là JSON hợp lệ?
    Đáp án đúng (✔️):

    {"vlan_ids":[100,200,300]} [["csr1kv1", "cisco"], ["csr1kv1", "cisco"]] [{"hostname":"csr1kv", "uptime":"184 days"}]



    Câu sai (❌):

    '{"vlan_ids":[100,200,300]}' # dấu nháy đơn sai chuẩn
    💡 Gợi ý tự học


    Bạn có thể truy cập vào các trang như:
    📚 Bài tiếp theo trong chuỗi học:


    👉 Chúng ta sẽ tìm hiểu cách sử dụng Postman để gửi và nhận JSON qua RESTCONF API từ thiết bị mạng Cisco.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X