【发布时间】:2019-12-10 15:47:14
【问题描述】:
我的代码有些问题。在我读取由 Python 服务器中的 Qt 客户端通过套接字接收的 JSON 后,我想获取该 JSON 的所有字段以便我可以使用它,但我收到如下错误:json.decoder.JSONDecodeError: Expecting value:第 1 行第 1 列(字符 0)。这是引发异常的代码。
data = connection.recv(1024)
temp = data.decode("utf-8")
jdata = json.loads(temp)
异常由 json.loads(temp) 引发。我试图确保 load 函数具有正确的类型,我试图将从套接字获得的相同字符串复制到另一个 str 类型中,并且该函数运行良好。有谁知道我是否忽略了什么?
更新:我刚刚发现我从套接字获取的 JSON 的大小与具有相同字符的字符串不同
【问题讨论】:
-
具有与具有相同字符的字符串不同的大小听起来像非 ascii 字符(需要超过 1 个字节来表示的字符)是否可能您的数据实际上并未编码为 UFT-8?它说它在第一个字符处失败,所以也许你在数据的开头有一个不可打印的字符?
标签: json python-3.x server