gpt4 book ai didi

python - JSON的python 2.7套接字通信

转载 作者:行者123 更新时间:2023-12-03 11:51:40 24 4
gpt4 key购买 nike

我想通过套接字发送/接收数据。

由于ROS(melodic),我使用python 2.7;由于tensorflow,我也使用python 3.6。

dict数据(例如{'key_name':[[1,2,3],[4,5,6]]})被发送并使用JSONEncoder.encoder()进行编码。
客户端接收到带有loads()的json数据,然后将其重新发送到服务器。
客户端使用python 2.7,服务器使用python 3.6

def _send(socket, send_data):
json_data = json.JSONEncoder().encode(send_data)
socket.sendall(json_data)

def _recv(socket):
recv_data = socket.recv(BUFSIZE)
json_data = json.loads(recv_data, encoding="utf-8")

return json_data

我有错误
  File "/usr/lib/python3.6/json/deoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 4097 (char 4096)

我需要同时在python 2.7和3.6上运行的python代码。

最佳答案

错误来自json解码器。

json_data = json.loads(recv_data, encoding="utf-8"),

预计您的json数据(在您的情况下为 recv_data)格式不正确。通常缺少逗号“,”或其他内容。
为了进行调试,我建议您在获取 json.loads()之前转储在服务器上接收到的数据

关于python - JSON的python 2.7套接字通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61006696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com