Мне трудно правильно передать информацию из скрипта python в приложение rails через веб-сокеты (используя Action Cable).
Я хочу использовать входную информацию в словаре python, например this:
message = {
'command':"subscribe",
'identifier':{
'channel': 'RaspChannel',
'rasp_local_id': '1'
}
}
Затем он должен быть преобразован в JSON, go через веб-сокет, установленный Action Cable, а затем проанализирован в ruby ha sh на стороне сервера.
По какой-то причине я только заставил это работать, отправив через сокет простую строку:
'{"command":"subscribe","identifier":"{\\"channel\\":\\"RaspChannel\\", \\"rasp_local_id\\": \\"1\\"}"}'
Но я не смог заставить его работать, отправив json.dumps(message)
, даже если он возвратил что-то, что выглядело довольно хорошо для меня:
{"command": "subscribe", "identifier": {"channel": "RaspChannel", "rasp_local_id": "1"}}
Я полагаю, что протокол действия кабеля использует метод classi c ruby JSON.parse
для строки json, которую он получает в качестве ввода, и по какой-то причине он всегда выдает ошибку разбора, если я не использую простую строку, о которой я упоминал выше.
Однако, поскольку я хочу сделать сообщение более сложным, было бы лучше, если бы я мог заставить его работать с реальными словарями Python из го начало.
Есть идеи о том, что мне не хватает?