![](/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.