Cách kiểm tra JSON và sửa lỗi cú pháp thường gặp
Kiểm tra trước, định dạng sau. Công cụ định dạng có thể căn lề JSON hợp lệ nhưng không thể đoán an toàn giá trị bị thiếu hay quyết định chuỗi sai có phải là số không. Giữ bản gốc, sửa lỗi phân tích đầu tiên rồi mới trình bày tài liệu cho dễ đọc.
1. Kiểm tra tài liệu, không chỉ ký tự được đánh dấu
Dán toàn bộ giá trị JSON vào công cụ kiểm tra. Vị trí lỗi là nơi quá trình đọc dừng lại; nguyên nhân có thể là dấu ngoặc hoặc chuỗi chưa đóng ở trước đó. Kiểm tra dòng xung quanh và giá trị liền trước. Không dán kèm HTTP header hoặc lệnh JavaScript như const data =.
2. Sửa các lỗi cú pháp thường gặp
Tên thuộc tính và giá trị chuỗi JSON cần dấu ngoặc kép. Dấu phẩy ngay trước } hoặc ] là không hợp lệ. Chú thích, undefined, NaN và chuỗi dùng nháy đơn không thuộc JSON. Chỉ thay chúng sau khi xác định ý nghĩa dữ liệu; xóa cho tới khi hết lỗi có thể âm thầm đổi cấu hình.
Ví dụ dưới đây hợp lệ: active là boolean, tags là mảng và accountId được chủ ý giữ dạng chuỗi. Khi mã định danh vượt khoảng số nguyên an toàn của JavaScript, đặt trong dấu ngoặc kép giúp tránh làm tròn khi đọc và định dạng.
{
"active": true,
"tags": ["local", "json"],
"accountId": "9007199254740993"
}3. Chọn thụt lề và xem cấu trúc
Mở công cụ định dạng sau khi kiểm tra thành công. Hai dấu cách giúp đối tượng lồng sâu gọn hơn; bốn dấu cách có thể giúp cấu trúc nông dễ đọc. Dùng tab nếu dự án thống nhất dùng tab. Mở đối tượng lồng nhau trong kết quả và đối chiếu vị trí mảng, đối tượng với yêu cầu ứng dụng.
4. Phân biệt cú pháp với ý nghĩa
Kiểm tra cú pháp thành công không xác nhận schema của ứng dụng. Chuỗi "false" khác boolean false, trường bị thiếu khác null và mảng rỗng vẫn có thể vi phạm quy tắc nghiệp vụ. Kiểm tra trường bắt buộc và kiểu dữ liệu trong ứng dụng hoặc bằng công cụ schema. Tránh trùng tên thuộc tính vì bộ đọc có thể giữ giá trị sau và bỏ giá trị trước.
Chọn bước tiếp theo
Dùng công cụ thu gọn khi nơi nhận cần văn bản ngắn gọn. Để làm việc với bảng tính, JSON sang CSV cần mảng bản ghi; xem trường lồng nhau trước khi chọn cột hay làm phẳng. Các công cụ này xử lý dữ liệu trong trình duyệt. Xử lý cục bộ không thay thế việc cẩn trọng với tiện ích trình duyệt, thiết bị dùng chung hay bí mật đã sao chép.