首页 > 解决方案 > 如何在处理中从 python 解码 json.dumps?

问题描述

我有一个 python OSCclient 将 json.dumps(dictionary) 发送到处理(Java 模式)中的 OSCP5 服务器。

蟒蛇方面:

'input_dict = {'text': 'Dies ist der erste Kommentar', 'cat': 'insinuation',   'category_counter': {'praise': 0, 'insinuation': 1, 'dissence': 0, 'lecture': 0, 'concession': 0}, 'is_locked': False}
data = json.dumps(input_dict)
client.send_message('/display_input', data)        

消息正在发送和接收,但是在函数oscEvent中解码json数据似乎有问题。加工面:

void oscEvent(OscMessage m) {
  print("### received an osc message.");
  print(" addrpattern: "+m.addrPattern());
  println(" typetag: "+m.typetag());
  if (m.checkAddrPattern("/display_input") == true) {
      println("INCOMING :", m.arguments()[0]);
      JSONObject new_utt = loadJSONObject((String) m.arguments()[0]);

处理打印输出:

收到一条osc消息。addrpattern: /display_input typetag: s

传入:{“text”:“Dies ist der erste Kommentar”,“cat”:“dissence”,“category_counter”:{“praise”:0,“insinuation”:0,“dissence”:1,“lecture”: 0,“让步”:0},“is_locked”:假}

文件 "{"text": "Dies ist der erste Kommentar", "cat": "dissence", "category_counter": {"praise": 0, "insinuation": 0, "dissence": 1, "lecture" : 0, "concession": 0}, "is_locked": false}" 丢失或无法访问,请确保 URL 有效或文件已添加到您的草图并且可读。

我的问题:有没有办法通过 OSC 将 jso.dumps 发送到 Processing,在那里我可以将它们作为 JSONObjects 打开?

标签: pythonjsonprocessingosc

解决方案


根据文档,loadJSONObject将其参数解释为指向 JSON 文件的文件名。

要从字符串解析 JSON,请改用该函数parseJSONObject


推荐阅读