![](/img/trans.png)
[英]Python Json.decoder.JSONDecodeError: Expecting ',' delimiter:
[英]json.decoder.JSONDecodeError: Expecting ',' delimiter: Error in python
我用python中的套接字发送json数据
{"receiver": "2", "sender:": 1, "seq_num": 10, "data": "{"iv": "jdjhvwGriJ95kZwgDWlShw==", "ciphertext": "Fg7ugYYAnPzL+lG8d7QDDA=="} "}
这是我发送的数据。 它是字符串类型,因为我不能将 sendall 用于 json 类型。
当我收到它时,我试图将该字符串转换为 json。 所以我做了,
data = client_socket.recv(1024)
#data = json.loads(data)
data = json.loads(json.dumps(data))
我得到 json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 59 (char 58) 错误。
请帮忙!
您的data
字段中存在语法错误。 通过将其放入"{"iv": "jdjhvwGriJ95kZwgDWlShw==", "ciphertext": "Fg7ugYYAnPzL+lG8d7QDDA=="}"
,双引号会弄乱编码器,导致它抛出错误。
如果您想将 value 作为一个对象,您可以简单地删除封闭的引号,如下所示:
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==\"}"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.