JavaScript中的JSON是否存储在HashMap中?

时间:2015-08-02 09:32:24

标签: javascript json hashmap

我搜索了JSON和HashMap,有很多关于"如何将json转换为hashmap"的问题。所以,它们是不同的,我如何在js中使用hashmap?

2 个答案:

答案 0 :(得分:2)

简短回答是“不”,因为JSON只是一种交换格式,可以作为JavaScript对象编写和解析。如果你想要一个类似哈希映射的东西,你可能只会使用一个Object not-so-primitive,分别定义和删除键或值:

var mapObj = {};
mapObj[key] = 'value';
delete mapObj[key];

还有Map对象可能适合这种用途,在ES6中是新的:

var mapObj = new Map();
mapObj.set('key','value');
mapObj.get('key');
mapObj.delete('key');

您可以通过调用stringify对其进行序列化,然后再次parse

var stringJSON = JSON.stringify(mapObj); // check your object structure for serializability!
var objsJSON = JSON.parse(stringJSON);

序列化Map有点不同。如果是可序列化的,则无论如何都可以使用Array.from()entries()

来执行此操作
var strMap = JSON.stringify(Array.from(mapObj.entries()));
var mapObj = new Map(JSON.parse(strMap));

答案 1 :(得分:0)

Wikipedia article明确指出JSON只是文字:

  

[JSON]使用人类可读的文本传输数据对象

JSON存储在Javascript中的字符串中。 Javascript对象are essentially hashmaps。您可以使用JSON.parse()JSON字符串转换为对象。