Nhóm phát triển ngôn ngữ lập trình Go của Google (GOOGL) vừa công bố các gói encoding/json/v2 và encoding/json/jsontext đã ổn định và có mặt chính thức trong Go 1.27. Đây là bản làm mới lớn cho thư viện JSON của Go sau hơn 15 năm, một mảng công nghệ mà gần như mọi ứng dụng web đều phụ thuộc vào.

JSON là gì và vì sao cần sửa?

JSON là định dạng dữ liệu phổ biến nhất trên internet. Mỗi khi bạn mở app ngân hàng hay đặt xe, các máy chủ phía sau thường trao đổi thông tin bằng JSON. Thư viện cũ của Go bộc lộ nhiều điểm yếu theo thời gian.

Những lỗi hành vi được khắc phục

Thư viện cũ chấp nhận cả chuỗi ký tự UTF-8 không hợp lệ, dễ làm hỏng dữ liệu âm thầm. Nó cũng cho phép đối tượng có tên trường trùng lặp, một kẽ hở từng bị kẻ tấn công khai thác, ví dụ lỗi CVE-2017-12635. Ngoài ra, slice hoặc map rỗng bị ghi thành null thay vì mảng hoặc đối tượng rỗng, khiến nhiều hệ thống khác báo lỗi khi đọc.

Phiên bản v2 mặc định chặt chẽ hơn, ưu tiên an toàn. Với các startup và doanh nghiệp dùng Go cho dịch vụ backend, điều này nghĩa là ít lỗi dữ liệu khó dò và giảm nguy cơ bảo mật ngay từ cấu hình mặc định.