究竟什么是关于JSON的哈希?

Ale*_*lex 24 hash json hashmap

我正在学习JSON,但我发现你可以将所谓的"哈希"放入JSON中吗?我在哪里可以找到哈希是什么?或者你能告诉我哈希是什么?另外,什么是hashmap?我有C++和C#的经验,我正在学习JS,Jquery和JSON.

Lio*_*hen 29

Hash是一个稀疏数组,它使用任意字符串/对象(取决于实现,这在编程语言中有所不同)而不是普通整数作为键.

在Javascript中,任何Object在技术上都是一个哈希(也称为字典,关联数组等).

例子:

  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.
Run Code Online (Sandbox Code Playgroud)

现在,由于JSON基本上使用JS构造和一些严格的指导来定义可移植数据,因此上面的myObj相当于:

{ "foo" : "bar" };
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


Ins*_*ter 14

哈希=字典.

哈希:

{ "key1": "value1", "key2": "value2" }
Run Code Online (Sandbox Code Playgroud)


Bri*_*sey 5

JSON 支持字典类型元素。人们可能将这些称为哈希表,它是一种数据结构。然而,将 JSON 字典称为哈希表在技术上是不正确的,因为没有与 JSON 数据本身相关的特定数据结构实现。

散列是从一段数据生成的随机数,并且对于相同的输入始终相同。例如,如果您从某些网站下载文件,它们将提供数据的哈希值,以便您可以验证下载没有损坏(这会更改哈希值)。哈希的另一个应用是在哈希表(或哈希映射)中。这是一种非常快速的关联数据结构,其中散列用于索引数组。C++ 中的 std::unorderd_map 就是一个例子。您可以在 JSON 中将哈希存储为字符串,例如“AB34F553”之类的内容,并使用它来验证数据。