【问题标题】:JSON object values cannot be accessed using key names in JS在 JS 中使用键名无法访问 JSON 对象值
【发布时间】:2020-10-24 23:48:58
【问题描述】:

我正在尝试从我的 React 应用程序中的 Binance Web 套接字获取数据

const ws = new WebSocket("wss://stream.binance.com:9443/ws/ethbtc@trade");
ws.onopen = () => {
  ws.send(
    JSON.stringify({
      method: "SUBSCRIBE",
      params: ["ethbtc@trade"],
      id: 13
    })
  );
};
ws.onmessage = evnt => {
  console.log(evnt.data);
};

并且响应是 {"e":"trade","E":1593865856744,"s":"ETHBTC","t":180904813,"p":"0.02493100","q":"0.90600000","b":788853315,"a":788853661,"T":1593865856743,"m":true,"M":true}

但是当试图从上面的对象中获取特定值时,它显示未定义!

console.log(evnt.data.s)

它显示未定义

如果有人可以提供帮助,那就太好了,提前致谢!

【问题讨论】:

  • console.log(typeof event.data) 的结果是什么?
  • 可能响应数据是字符串。如果是字符串,需要解析才能访问
  • @Mitya 它正在显示字符串!
  • 好的,所以您的数据不是对象 - 需要解析。

标签: javascript json object websocket binance


【解决方案1】:

请这样尝试

  1. console.log(evnt.data["s"]) 或者,
  2. console.log(JSON.parse(evnt.data).s) 或者,
  3. console.log(evnt.data.toObject().s)

【讨论】:

  • 谢谢你 console.log(JSON.parse(evnt.data).s) 第二个对我有用!
  • 这是我的荣幸。你能把我敲到这里吗?链接:facebook.com/talha.aiubian
  • 我停止使用 fb :-(..no more account !
  • 如何联系您?
  • linkedin.com/in/aashiqotp/ 或 instagram :@Aashiq_Otp
【解决方案2】:

试试这个可能会解决你的问题

JSON.parse(event.data).s 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多