通过JSON和Rails操作电缆web套接字将Python dict转换为Ruby哈希

通过JSON和Rails操作电缆web套接字将Python dict转换为Ruby哈希,python,ruby-on-rails,dictionary,hash,actioncable,Python,Ruby On Rails,Dictionary,Hash,Actioncable,我很难通过web套接字(使用Action Cable)将信息从python脚本正确地传递到rails应用程序 我想在python字典中使用如下输入信息: message = { 'command':"subscribe", 'identifier':{ 'channel': 'RaspChannel', 'rasp_local_id': '1' } } 然后应该将其转换为JSON,通过Action Cabl

我很难通过web套接字(使用Action Cable)将信息从python脚本正确地传递到rails应用程序

我想在python字典中使用如下输入信息:

message = {
    'command':"subscribe",
    'identifier':{
            'channel': 'RaspChannel',
            'rasp_local_id': '1'
        }
    }
然后应该将其转换为JSON,通过Action Cable设置的web套接字,然后在服务器端解析为ruby哈希

出于某种原因,我只是通过套接字发送一个普通字符串来实现它:

'{"command":"subscribe","identifier":"{\\"channel\\":\\"RaspChannel\\", \\"rasp_local_id\\": \\"1\\"}"}'
但我无法通过发送
json.dumps(message)
使其工作,尽管它返回了一些对我来说非常好的东西:

{"command": "subscribe", "identifier": {"channel": "RaspChannel", "rasp_local_id": "1"}}
我假设action cable协议对作为输入接收的JSON字符串使用经典的ruby
JSON.parse
方法,出于某种原因,它总是抛出解析错误,除非我使用上面提到的纯字符串

但是,由于我想使消息更加复杂,如果我能从一开始就让它与实际的Python字典一起工作,那就更好了


知道我遗漏了什么吗?

经过更多的研究,问题似乎不是来自JSON python编码、ruby解码,也不是我误用了这些方法

实际上,actioncable在接收消息时使用的协议似乎并不完全依赖于“经典”JSON,而是使用“JSON中的转义JSON”作为标识符


更多关于rails github问题的信息,请阅读ruby中字符串的方法as_json和to_json。这可能会有帮助我研究了一下,但实际上,我在ruby方面做不了很多事情,因为action cable server抛出了来自python编码的JSON的错误。我对python的了解非常有限,但作为JSON发送可能会有帮助吗?