What exactly is a hash in regards to JSON?

43,702

Solution 1

A Hash is a sparse array that uses arbitrary strings/objects (depending on the implementation, this varies across programming languages) rather than plain integers as keys.

In Javascript, any Object is technically a hash (also referred to as a Dictionary, Associative-Array, etc).

Examples:

  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.

Now, since JSON is basically using JS constructs and some strict guidelines to define portable data, the equivalent to myObj above would be:

{ "foo" : "bar" };

Hope this helps.

Solution 2

Hash = dictionary.

A hash:

{ "key1": "value1", "key2": "value2" }

Solution 3

JSON supports dictionary type elements. People may refer to these as hash tables, which are a type of data structure. Referring to JSON dictionaries as hash tables would be technically incorrect, however, as there is no particular data structure implementation associated with the JSON data itself.

A hash is a random looking number which is generated from a piece of data and always the same for the same input. For example if you download files from some websites they will provide a hash of the data so you can verify your download is not corrupted (which would change the hash). Another application of hashes is in a hash table (or hash map). This is a very fast associative data structure where the hashes are used to index into an array. std::unorderd_map in C++ is an example of this. You could store a hash in JSON as a string for example something like "AB34F553" and use this to verify data.

Share:
43,702
Alex
Author by

Alex

I'm a web and mobile software engineer! Passionate about ruby and javascript.

Updated on July 14, 2022

Comments

  • Alex
    Alex almost 2 years

    I am learning JSON, but I found out that you can put what are called "hashes" into JSON as well? Where can I find out what a hash is? Or could you explain to me what a hash is? Also, what's a hashmap? I have experience in C++ and C#, and I am learning JS, Jquery, and JSON.