Что такое хеш в отношении JSON? - PullRequest
23 голосов
/ 02 марта 2010

Я изучаю JSON, но я обнаружил, что вы также можете поместить в JSON так называемые "хэши"? Где я могу узнать, что такое хеш? Или не могли бы вы объяснить мне, что такое хеш? Кроме того, что такое хэш-карта? У меня есть опыт в C ++ и C #, и я изучаю JS, Jquery и JSON.

Ответы [ 3 ]

28 голосов
/ 02 марта 2010

Hash - это разреженный массив, который использует произвольные строки / объекты (в зависимости от реализации, это зависит от языка программирования), а не простые целые числа в качестве ключей.

В Javascript любой объект технически является хешем (также называемым словарём, ассоциативным массивом и т. Д.).

Примеры:

  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.

Теперь, поскольку JSON в основном использует конструкции JS и некоторые строгие правила для определения переносимых данных, эквивалентный выше myObj будет:

{ "foo" : "bar" };

Надеюсь, это поможет.

14 голосов
/ 02 марта 2010

Хэш = словарь.

Хеш:

{ "key1": "value1", "key2": "value2" }
2 голосов
/ 22 января 2015

JSON поддерживает элементы словарного типа. Люди могут ссылаться на них как на хеш-таблицы, которые являются типом структуры данных. Однако обращение к словарям JSON как к хеш-таблицам было бы технически некорректно, поскольку не существует конкретной реализации структуры данных, связанной с самими данными JSON.

Хеш - это случайное число, которое генерируется из фрагмента данных и всегда одинаково для одного и того же ввода. Например, если вы загружаете файлы с некоторых веб-сайтов, они предоставляют хэш данных, чтобы вы могли убедиться, что ваша загрузка не повреждена (что может изменить хэш). Другое применение хэшей находится в хэш-таблице (или хэш-карте). Это очень быстрая ассоциативная структура данных, в которой хеши используются для индексации в массиве. std :: unorderd_map в C ++ является примером этого. Вы можете сохранить хэш в JSON в виде строки, например, что-то вроде «AB34F553», и использовать это для проверки данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...