我在python中用套接字发送json数据。
{“接收方”:"2",“发件人:”:1,"seq_num":10,“数据”:“{”iv:"jdjhvwGriJ95kZwgDWlShw==",“密文”:“Fg7ugYYAnPzL+lG8d7QDDA==”}}
这是我发送的数据。它是字符串类型,因为我不能将sendall用于json类型。
当我收到它的时候,我试着把那根绳子做成json。所以我做了,
data = client_socket.recv(1024)
#data = json.loads(data)
data = json.loads(json.dumps(data))我得到了json.decoder.JSONDecodeError: Expecting ',‘,’分隔符:第1行第59列(char 58)错误。
请帮帮我!
发布于 2020-11-17 22:03:31
data字段中有一个语法错误。通过将它作为"{"iv": "jdjhvwGriJ95kZwgDWlShw==", "ciphertext": "Fg7ugYYAnPzL+lG8d7QDDA=="}"放入,双引号会使编码器陷入混乱,导致它抛出一个错误。
如果您想要将值赋值为一个对象,可以简单地删除下面所示的括起来的引号:
data = {"receiver": "2", "sender:": 1, "seq_num": 10, "data": {"iv": "jdjhvwGriJ95kZwgDWlShw==", "ciphertext": "Fg7ugYYAnPzL+lG8d7QDDA=="}}然而,如果您希望它是一个字符串,那么您必须使所有双引号中的转义如下
{
"receiver": "2", "sender:": 1, "seq_num": 10,
"data": "{\"iv\": \"jdjhvwGriJ95kZwgDWlShw==\", \"ciphertext\": \"Fg7ugYYAnPzL+lG8d7QDDA==\"}"
}https://stackoverflow.com/questions/64883810
复制相似问题