我在 nodejs 应用程序中有一个 hashmap (const HashMap = require('hashmap');),我通过这样的 websocket 发送给我的客户端: io.sockets.emit('state', myHashmap);
但是当我无法遍历客户端的值时。我无法使用从 websocket 获取的 json 数据构建 HashMap 。
有人可以帮我读取 HashMap 的 json 数据并在客户端创建一个新数据吗? 谢谢!
最佳答案
好吧,我现在知道您正在使用 HashMap 模块。你要么知道自己在做什么,并且有充分的理由使用它,要么你来自 Java,然后你最好使用 JS 对象,它非常快速和优化。您还可以使用原生 map https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
其余部分是关于对象的,但是对于普通对象,您可能只需将它们发送给网络套接字,而无需字符串化(很可能套接字库将在服务器上对它们进行字符串化,并在客户端内部对其进行解析)。
您可能会尝试在 node.js 中将其字符串化并在客户端进行解析。 像这样
io.sockets.emit('state', JSON.stringify(myHashmap));
然后在客户端解析
const data = JSON.parse(payload)
我猜你是在谈论像 const myHashmap = {};
这样的 js 对象?
关于javascript - 在 Javascript 中通过 WebSocket 的 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53916780/