首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >json.decoder.JSONDecodeError:期待“,”分隔符: python中的错误

json.decoder.JSONDecodeError:期待“,”分隔符: python中的错误
EN

Stack Overflow用户
提问于 2020-11-17 21:46:23
回答 1查看 4.8K关注 0票数 0

我在python中用套接字发送json数据。

{“接收方”:"2",“发件人:”:1,"seq_num":10,“数据”:“{”iv:"jdjhvwGriJ95kZwgDWlShw==",“密文”:“Fg7ugYYAnPzL+lG8d7QDDA==”}}

这是我发送的数据。它是字符串类型,因为我不能将sendall用于json类型。

当我收到它的时候,我试着把那根绳子做成json。所以我做了,

代码语言:javascript
复制
            data = client_socket.recv(1024)
            #data = json.loads(data)
            data = json.loads(json.dumps(data))

我得到了json.decoder.JSONDecodeError: Expecting ',‘,’分隔符:第1行第59列(char 58)错误。

请帮帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-17 22:03:31

data字段中有一个语法错误。通过将它作为"{"iv": "jdjhvwGriJ95kZwgDWlShw==", "ciphertext": "Fg7ugYYAnPzL+lG8d7QDDA=="}"放入,双引号会使编码器陷入混乱,导致它抛出一个错误。

如果您想要将值赋值为一个对象,可以简单地删除下面所示的括起来的引号:

代码语言:javascript
复制
data = {"receiver": "2", "sender:": 1, "seq_num": 10, "data": {"iv": "jdjhvwGriJ95kZwgDWlShw==", "ciphertext": "Fg7ugYYAnPzL+lG8d7QDDA=="}}

然而,如果您希望它是一个字符串,那么您必须使所有双引号中的转义如下

代码语言:javascript
复制
{
    "receiver": "2", "sender:": 1, "seq_num": 10, 
    "data": "{\"iv\": \"jdjhvwGriJ95kZwgDWlShw==\", \"ciphertext\": \"Fg7ugYYAnPzL+lG8d7QDDA==\"}"
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64883810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档