JavaScript中的JSON存储在HashMap中吗?

Alb*_*eng 0 javascript json hashmap

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

dak*_*kab 6

简短的答案是 \xe2\x80\x9cno\xe2\x80\x9d,因为JSON只是一种作为 JavaScript 对象编写和解析的交换格式。如果你想要像哈希映射这样的东西,你可能只需要使用一个Object不太原始的方法,分别定义和删除键或值:

\n\n
var mapObj = {};\nmapObj[key] = \'value\';\ndelete mapObj[key];\n
Run Code Online (Sandbox Code Playgroud)\n\n

ES6 中新增了一个Map可能适合这种用途的对象:

\n\n
var mapObj = new Map();\nmapObj.set(\'key\',\'value\');\nmapObj.get(\'key\');\nmapObj.delete(\'key\');\n
Run Code Online (Sandbox Code Playgroud)\n\n

您可以通过调用stringify然后再次调用parse它们来序列化 JavaScript 对象:

\n\n
var stringJSON = JSON.stringify(mapObj); // check your object structure for serializability!\nvar objsJSON = JSON.parse(stringJSON);\n
Run Code Online (Sandbox Code Playgroud)\n\n

序列化 aMap有点不同。Array.from()如果可序列化,您无论如何都可以使用and来完成entries()

\n\n
var strMap = JSON.stringify(Array.from(mapObj.entries()));\nvar mapObj = new Map(JSON.parse(strMap));\n
Run Code Online (Sandbox Code Playgroud)\n