Javascript 如何读取事件数据属性

Javascript 如何读取事件数据属性,javascript,websocket,Javascript,Websocket,下面是读取事件属性的JavaScript代码: function webSockStart() { // onclick() of a button document.getElementById("button").disabled = true; var ws = new WebSocket("ws://127.0.0.1:3000/websock"); ws.onmessage = function (evt) { console.log(evt.data)

下面是读取事件属性的JavaScript代码:

function webSockStart() { // onclick() of a button
  document.getElementById("button").disabled = true;

  var ws = new WebSocket("ws://127.0.0.1:3000/websock");

  ws.onmessage = function (evt) {
    console.log(evt.data)
    console.log(evt.data["Key"]) // undefined
    console.log(evt.data["Val"]) // undefined

  };

}
console.logevt.data提供通过websocket接收的字符串{Key:ab,Val:cd}

var map=new MapJSON.parsevt.data给出错误:未捕获类型错误:对象不是iterablecannot读取属性SymbolSymbol.迭代器


如何将此字符串转换为映射对象并读取属性?console.logevt.data[Key]

您需要首先解析它,然后才能访问它

设str=`{data:{Key:ab,Val:cd}` 让obj=JSON.parsestr
console.logobj.data['Key']@overexchange映射所需的对象不在其中。我不确定为什么要将对象更改为映射?但无法将表单元格内容与这些已解析的json行[i]进行比较。单元格[0]。textContent==obj.data['Key']。因为console.logobj.data['Key']输出ab而不是ab@overexchange什么是行[i]。单元格[0]。textContent?var rows=myTable.getElementsByTagNametr和console.logrows[1]。单元格[0]。textContent提供ab和console。logrows[1]。单元格[1]。textContent提供cd@overexchange您可以通过控制台记录并检查值。或者创建一个工作示例,这样更容易解决确切的问题