什么是JSON的哈希?

but5z9lq  于 2023-05-30  发布在  其他
关注(0)|答案(4)|浏览(869)

我正在学习JSON,但我发现你也可以把所谓的“哈希”放入JSON中?我在哪里可以找到hash是什么?或者你能给我解释一下什么是哈希吗?什么是hashmap?我有C++和C#的经验,我正在学习JS,Jquery和JSON。

mutmk8jj

mutmk8jj1#

哈希是一个稀疏数组,它使用任意字符串/对象(取决于实现,这在编程语言中有所不同)而不是普通整数作为键。
在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" };

希望这能帮上忙。

9bfwbjaz

9bfwbjaz2#

Hash =字典。
哈希:

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

8mmmxcuj3#

JSON支持字典类型元素。人们可能会将这些称为哈希表,这是一种数据结构。然而,将JSON字典称为哈希表在技术上是不正确的,因为没有与JSON数据本身相关联的特定数据结构实现。
散列是从一段数据生成的随机数,并且对于相同的输入总是相同的。例如,如果您从某些网站下载文件,它们将提供数据的哈希,以便您可以验证您的下载没有损坏(这将更改哈希)。散列的另一个应用是在散列表(或散列Map)中。这是一个非常快速的关联数据结构,其中散列用于索引数组。C++中的std::unorderd_map就是一个例子。您可以将JSON中的散列存储为字符串,例如“AB34F553”,并使用它来验证数据。

gopyfrb3

gopyfrb34#

json.org上,JSON“对象”是“名称/值对的集合”。在各种语言中,这被实现为对象、记录、结构、字典、哈希表、键控列表或关联数组。
对JSON对象使用模棱两可的术语“hash”会造成混淆。“Hash”在野外实际上用作以下的简写:哈希Map、字典、键值结构等。但它也是简写:由哈希函数计算的哈希值。

相关问题