2013-05-12 148 views
0

请原谅我的无知,我的第一个几天与python。Socket.io python客户端处理json参数

我有以下python客户端正在侦听来自nodejs服务器的事件。我使用这个库:https://github.com/invisibleroads/socketIO-client

import RobotArm 
import time 
from socketIO_client import SocketIO, BaseNamespace  

def statusChanged(*args): 
    print(args) 

socketIO = SocketIO('192.168.0.3', 3333) 
socketIO.on('statusChanged', statusChanged) 
socketIO.wait(seconds=1) 

input('Press ENTER to exit\n') 

的NodeJS正在发送:

socket.emit("statusChanged", { online: botOnline, battery: battery, charging: charging }); 

当我打印ARGS它输出:

({u'battery': 50, u'charging': 0, u'online': u'1'},) 

这显然是被解读为一个元组,而不是字典,我需要它作为解析json。我读到'你在说明它正在读取它作为unicode,我不知道为什么会有一个尾部的斜线。

回答

1

您的函数statusChanged(*args)被定义为获取未指定数量的参数。参数args是调用它的所有参数的元组。

所以第一个实际参数(包含数据的字典)可以作为args[0]

+0

*刘海访问把头*该死我什ARGS [0]在一个点上,但绝不能遵循通过和测试转换到字典()检查它实际上是阅读确定。现在很好地工作谢谢你! – Titan 2013-05-12 16:52:42