我走到了尽头。我很困惑。我将一个字典化的字典从Python(使用json.dumps())通过UDP传递给Ionic 2(Typescript)应用程序。
生成消息的python代码:
message = { 'time' : str(round(float(op('indexFraction')[0]),3)) }
messageJSON = json.dumps(message)
#messageJSON = json.JSONEncoder().encode(message)
print(messageJSON)
op('udpout').send(messageJSON) #sending out of TouchDesigner
我在Ionic侧的回调函数如下所示:
socket.on('message', function (message, remoteAddress) {
if (message.length > 0) {
console.log(message, typeof(message));
// alert(message);
// process response message
var data = JSON.parse(message);
console.log(data);
if (data.time) {
alert(data.time);
}
}
});
示例消息如下所示(typeof string): {"时间":" 0.934"}
//这是一个字符串,如Console.log
所示JSON.parse()抛出以下内容: index.html:1 Uncaught SyntaxError:位置17的JSON中的意外标记
我在对象上尝试了各种变体。它在JSONlint上传递为有效。它很简单,没有古怪的角色。有什么想法吗?
谢谢, 马克