2017-09-11 22 views
1

我正在使用Sonos控制器Kivy应用程序(在RPi上运行)。事情的声纳方面是使用node.js。我的kivy应用程序当前发送一个http请求来获取sonos(音量,电台,歌曲等)的状态,然后更新标签和图像。这很好,但我想用扭曲。作为一个起点,我正在运行kivy文档中找到的示例Echo Server应用程序(https://kivy.org/docs/guide/other-frameworks.html)。当我运行它时,dataReceived正确地获取Sonos状态变化的当前状态信息。这太棒了。不幸的是,这些数据是文本和json的混合。我想知道是否有办法解析返回的json。这里的数据解析扭曲数据中的数据接收

内容类型:应用程序/ JSON内容长度:1570主持人: 本地主机:8000连接:关闭

{ “类型”: “静音变化”, “数据”:{ 的 “uuid”: “RINCON_000000000000001400”, “previousMute”:真实, “previousMute”:假的, “ROOMNAME”:使用dataReceived的 “办公室”}}

相反,有没有更好的办法?我一直在寻找一种方法,只是得到没有所有标题信息的json(body),但没有发现很多工作。

TIA

回答

0

使用Twisted Web。例如:

from twisted.internet import reactor, endpoints 
from twisted.web.server import Site 
from twisted.web.resource import Resource 
import time 

class EchoPage(Resource): 
    isLeaf = True 
    def render_GET(self, request): 
     return "I got: {}".format(
      request.content.read(), 
     ) 

resource = EchoPage() 
factory = Site(resource) 
endpoint = endpoints.TCP4ServerEndpoint(reactor, 8880) 
endpoint.listen(factory) 
reactor.run()