通过python websockets发送JSON字符串后用JS解码

0 人关注

我的JavaScript代码无法读取JSON对象中的值。

My setup is: Sensors on a Raspberry pi -> python -> Websockets <- JS <- p5.js drawing.

我对JavaScript不是很精通,所以问题最可能出现在这里。 使用python,我生成了一个字典,看起来像这样。

a_dict = {'humidity' : 55.1, 'temperature' : 33.9, 'magneticfield' : 13.2}

然后我就 json.dumps(a_dict) ,并将其发送到服务器,使用 websockets 库。 在浏览器中,我做到了。

var ws = new WebSocket("ws://127.0.0.1:1234/")
ws.onmessage = function(event){
    window.sensordata = JSON.parse(event.data);

在同一个文件中,我试图访问一个p5.js的数据。

function setup(){ some code here }
function draw() { 
     ellipse(window.sensordata.humidity, 10,10,10)

这一行window.sensordata.humidity触发了一个

未发现的类型错误。无法读取未定义的 "湿度 "属性

以下是我所尝试的。

  • 改变绘图第一/websocket第二的顺序(反之亦然)。

  • console.log(window.sensordata)打印出具有正确字段的正确对象,但console.log(window.sensordata.humidity)却抛出了与上述相同的错误。

  • 称其为window.sensordata['humidity']也无济于事。

    Edit:

  •