Như đã đề cập, ở cấp JSON, 0 và sai không giống nhau; các kiểu dữ liệu là số so với boolean. Nhưng thư viện xử lý JSON có thể chọn thực hiện chuyển đổi; đặc biệt là trên các ngôn ngữ/nền tảng không có kiểu boolean gốc, ví dụ. Trong trường hợp đó, một biểu diễn khác có thể được sử dụng (chuỗi rỗng hoặc 0 cho sai). Hơn nữa, cũng có thể là các thư viện xử lý có thể ép buộc các loại: như vậy nếu một giá trị boolean được mong đợi, các giá trị số/chuỗi nhất định (hoặc JSON 'null' token) có thể được chấp nhận thay thế. Điều này khá phổ biến, do sự khác biệt về lựa chọn loại dữ liệu trên các ngôn ngữ khác nhau.
Bạn có nghĩa là các giá trị? Vâng, có loại Số, và đó cũng là kiểu Boolean. Do đó, những giá trị đó không giống nhau. –
BTW, 'true' và' false' là các từ dành riêng, vì vậy bạn sẽ không thể sử dụng ký hiệu chấm để truy xuất các giá trị thuộc tính. Ví dụ, 'data.zero' trả về' 0', nhưng 'data.false' ném một lỗi phân tích (trong một số trình duyệt) (' data ['false'] 'sẽ hoạt động (= return' 0')). –