create - ¿Qué es exactamente un hash en relación con JSON?
map string string to json (3)
Hash = diccionario.
Un hash
{ "key1": "value1", "key2": "value2" }
Estoy aprendiendo JSON, pero descubrí que también puedes poner lo que se llama "hashes" en JSON. ¿Dónde puedo averiguar qué es un hash? ¿O podrías explicarme qué es un hash? Además, ¿qué es un hashmap? Tengo experiencia en C ++ y C #, y estoy aprendiendo JS, Jquery y JSON.
JSON soporta elementos de tipo diccionario. Las personas pueden referirse a éstas como tablas hash, que son un tipo de estructura de datos. Sin embargo, referirse a los diccionarios JSON como tablas hash sería técnicamente incorrecto, ya que no hay una implementación de estructura de datos particular asociada con los datos JSON en sí.
Un hash es un número de aspecto aleatorio que se genera a partir de datos y siempre es el mismo para la misma entrada. Por ejemplo, si descarga archivos de algunos sitios web, proporcionarán un hash de los datos para que pueda verificar que su descarga no esté dañada (lo que cambiaría el hash). Otra aplicación de hashes está en una tabla hash (o mapa hash). Esta es una estructura de datos asociativa muy rápida donde los hashes se utilizan para indexar en una matriz. std :: unorderd_map en C ++ es un ejemplo de esto. Podría almacenar un hash en JSON como una cadena, por ejemplo, algo como "AB34F553" y usarlo para verificar los datos.
Un Hash es una matriz dispersa que utiliza cadenas / objetos arbitrarios (dependiendo de la implementación, esto varía según los lenguajes de programación) en lugar de enteros simples como claves
En Javascript, cualquier Objeto es técnicamente un hash (también conocido como Diccionario, Associative-Array, etc.).
Ejemplos:
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.
Ahora, dado que JSON está básicamente utilizando construcciones JS y algunas pautas estrictas para definir datos portátiles, el equivalente a myObj anterior sería:
{ "foo" : "bar" };
Espero que esto ayude.