Tôi đang học JSON, nhưng tôi phát hiện ra rằng bạn có thể đặt cái gọi là "băm" vào JSON? Tôi có thể tìm ra băm là gì? Hoặc bạn có thể giải thích cho tôi biết băm là gì? Ngoài ra, một hashmap là gì? Tôi có kinh nghiệm về C++ và C#, và tôi đang học JS, Jquery và JSON.Chính xác thì hàm băm liên quan đến JSON là gì?
Trả lời
Một Hash là một mảng thưa thớt mà sử dụng các chuỗi tùy ý/đối tượng (tùy thuộc vào việc thực hiện, điều này khác nhau giữa các ngôn ngữ lập trình) chứ không phải là số nguyên đơn giản như chìa khóa.
Trong Javascript, bất kỳ đối tượng nào về mặt kỹ thuật là một băm (cũng được gọi là từ điển, liên kết-mảng, v.v ...).
Ví dụ:
var myObj = {}; // Same as = new Object();
myObj['foo'] = 'bar';
var myArr = []; // Same as = new Array();
myArr[0] = 'foo';
myArr[1] = 'bar';
myArr['blah'] = 'baz'; // This will work, but is not recommended.
Bây giờ, kể từ khi JSON được về cơ bản sử dụng các cấu trúc JS và một số hướng dẫn nghiêm ngặt để xác định dữ liệu di động, tương đương với myObj trên sẽ là:
{ "foo" : "bar" };
Hope this helps.
Hash = dictionary.
Một băm:
{ "key1": "value1", "key2": "value2" }
Tôi băm là một số tìm kiếm ngẫu nhiên được tạo từ một phần dữ liệu và luôn giống nhau cho cùng một đầu vào. Ví dụ: nếu bạn tải xuống tệp từ một số trang web, chúng sẽ cung cấp băm dữ liệu để bạn có thể xác minh tải xuống của bạn không bị hỏng (điều này sẽ thay đổi giá trị băm). Một ứng dụng khác của băm là một bảng băm (hoặc bản đồ băm). Đây là cấu trúc dữ liệu liên kết rất nhanh, trong đó các băm được sử dụng để lập chỉ mục vào một mảng. std :: unorderd_map trong C++ là một ví dụ về điều này. Bạn có thể lưu trữ một băm bằng JSON dưới dạng chuỗi ví dụ như "AB34F553" và sử dụng để xác minh dữ liệu. JSON cũng hỗ trợ các phần tử kiểu từ điển. Mọi người có thể tham khảo các bảng này dưới dạng bảng băm, nhưng điều này sẽ không chính xác về mặt kỹ thuật vì không có triển khai cấu trúc dữ liệu cụ thể được liên kết với chính dữ liệu JSON.
- 1. Chính xác thì n Gram là gì?
- 2. Chính xác thì khóa ngoại là gì?
- 3. Chính xác thì Windows AppFabric là gì?
- 4. Chính xác thì "xử lý" là gì?
- 5. Chính xác thì Apache Karaf là gì?
- 6. Chính xác thì Rake là gì?
- 7. Điều gì chính xác là "ghim" liên quan đến các chỉ mục trong DBMS?
- 8. Điều gì, chính xác, là 'Ngăn xếp' vì nó liên quan đến .Net
- 9. Chính xác thì $ (...). Map() trả về là gì?
- 10. Chính xác thì "dịch vụ WPF" là gì?
- 11. Chính xác thì Windows Azure Instances là gì?
- 12. Chính xác thì đường dẫn tăng thêm là gì?
- 13. Perl: Chính xác thì C <our> là gì?
- 14. Chính xác thì removeOnCompletion = NO làm gì?
- 15. Chính xác thì các bộ tuples bằng Python là gì?
- 16. Chính xác thì Nhà máy Lớp là gì?
- 17. Chính xác thì "loại generic mở" trong .NET là gì?
- 18. Chính xác thì org.apache.commons.lang.builder.CompareToBuilder làm gì?
- 19. Chính xác thì gì -march = native làm gì?
- 20. Chính xác thì Attach() làm gì trong Entity Framework?
- 21. Hàm băm (#) có nghĩa là gì sau tệp .js?
- 22. Liên quan đến việc tái sử dụng ngăn xếp của một hàm gọi chính nó?
- 23. Loại MIME chính xác cho JSON là gì?
- 24. Chính xác là gì?
- 25. từ json đến băm ruby?
- 26. "Địa chỉ ảo tương đối", liên quan đến cái gì?
- 27. Chính xác thì sản phẩm được sản xuất bởi Opa là gì?
- 28. hàm covariance (covariance), tính chính xác của nó là gì?
- 29. Chính xác thì git rebase --skip làm gì?
- 30. Chính xác thì $ match trong Perl là bao nhiêu?
thật tuyệt? Tôi đã overcomplicating mọi thứ. – Alex
Lưu ý về dòng cuối cùng của bạn: bạn có thể đặt thuộc tính trên mảng như thể chúng là đối tượng - chúng * là * đối tượng và sẽ hoạt động như đối tượng trong trường hợp đó. – skeggse
@CMC: cảm ơn. Đã cập nhật câu trả lời. –