我无法在python中将str转换为json

2024-10-04 01:30:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在获取错误回溯(最近一次调用上次):json.decoder.jsondeCoderror:期望值:第1行第1列(字符0)

我的代码: ```

HOST = '0.0.0.0'
PORT = 10001

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.bind((HOST, PORT))
    s.listen()
    conn, addr = s.accept()
    with conn:
        print('Connected by', addr)
        while True:
            dataByte = conn.recv(1024)
            if not dataByte: 
                print("Not data")
            myStr = dataByte.decode('utf-8').replace("'", '"')
        
            data = json.loads(myStr)
            s = json.dumps(data, indent=4, sort_keys=True)
            print(s)
```

原始数据字节 b'POST/HTTP/1.1\r\nHost:localhost:10001\r\n用户代理:Go HTTP client/1.1\r\n内容长度:3153\r\n内容类型:application/json\r\n接受编码:gzip\r\n\r\n{“事件”:“错误”,“S”:"1\u0001\u0002\0 0 0\ufff7\0 0\UFFF7\0\0 0 0 0\ufffff7\0 0 0 0\u0002\u0014\0 0 0 0 0 0 0\0 0 0 0\0 0 0 0\0 0 0 0\0\0\0\0\0\0\0\0\0\0 0 0 0 0\0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\u0014\u0014\0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\uu0014\u0014\u0014\u0014\u0014\u0014\u0014\0 0 0 0 0 0 0 0 0 0 3U\u0004\u0008\u000c\u0005AAAAA1\r0\u000b\u0006\u0003U\u0004\u0007\u000c\u0004BBBB1!0\u001f\u0006\u0003U\u0004\n\u000c\U0018互联网Widgits私人有限公司Ltd0\u001e\u0017\r210524192942Z\u0017\r230827192942Z0!1\u000b0\t\u0006\u0003U\u0004\u0006\u0013\u0002GB1\u00120\u0010\u0006\u0003U\u0004\u0004\u0004\“0\r\u0006\t*\ufffdH\ufffd\ufffd\r\u0001\u0001\u0001\u0005\u0000\u0003\ufffd\u0001\u000f\u00000\ufffd\u0001\n\u0002\ufffd\u0001\u0001\u0000\ufffdy\u0017\u0012 | \ufffd\u0007\ufffd\u0006\ufffdwl\ufffd\ufffd\ufffd\ufdhu\ufffd\ufffd\uf 中国大陆某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某D\xcd\x92\ufffd\u003c\ufffd\ufffd\ufffd\ufffdn%\ufffd-\u001e\ufffd\中国政府在00140万1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 lc\ufffd\ufffd\ufffd\u00058\u001c\u001a,th3D4m\ufffd\u000b(\u0026\ufffdq\ufffd{\ufffd\ufffd\ufffd\ufffd\ufffd.\u003c\u000c\u003c\ufffd[)\xd2\x92\ufffd]\ufffd\ufffd\u0019t\u001e;E\ufffd%\ufffd\“\\UFFFFD\\UFFFFD\\\ufufffFD\\\ufufFFFD\\UFFFFD\或者8\X8 8\或者或者或者或者或者或者或者或者或者或者UFFFFD\\\ufFFFD\\ufffd\ufffd\\\\ufFFFFD\\\\ufFFFFFDFD\\\\\uffufFFFD\或者或者或者或者或者或者或者或者或者ufFFFFFFFDFDFD\\\ufffd\ufffd\或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者ufFFFDFDFDFDFDFD\\\\ufufFFD\\\ufffd\\\\ufufFFD\\\ufufFFD\\\\ufufFFD\\\ufffd\\\\ufufufFFD\\\\\\\\ufffd\ufufufufFFD\或者或者或者或者或者或者或者0001\u00' 10月10布布的某一05\u0005\u0005\u0005\u0007\u0005\u0005\u0005\u0005\u0004\u0004\u0004\u0004\u0004\u0004\u0005\u0005\u0005\u0005\u0005\u0005\u0005\u0003\u0001\u0001\u0004\u0004\u0004\4\u0004\u0004\u0004\布布布布布或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者或者布布布\Uffffffffffffffffffffffffffffffffffffffffffffffffffffffffff官方官方官方\\\或者或者或者或者或者或者或者或者或者或者或者或者或者\u00105\xdc\xa2\ufffd\ufffd:\ufffd\ufffdyBTJ\ufffd\ufffdF\ufffd\u0003\ufffd\ufffd\u001a\ufffd\u0018\u0014S(C\ufffd\ufffd\ufffd\u000cWY\u0018\ufffd\u0026]\ufffd!6\ufffd\ufffd\ufffd\ufffd\u0000Q\ufffd\ufffd\u0001\ufffd\ufffd\ufffd)\xd7\xb1\u001ar\ufffd\ufffd\ufffd4y\u0007\UFD\u0004\ufffd\ufffd\ufffd\\UFFFFF福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福福ufffd\xce\xba\ufffdE\xde\xa5\ufffd\u000f\ufffd\ufffdOx\ufffdi\ufffd%\x7f\u0014\ufffd\ufffd\ufffdZ\ufffd\ufffd\ufffdC\ufffduj\ufffd\ufffd\ufffd\u001c\nmAt\u' b'fffd\ufffd\u001e\ufffd]\“XWX\ufffdv}\ufffd\ufffd\ufffdT9@HP\ufffd\ufffd\u001c\ufffd\ufffdF\u0004\ufffd$F\xce\x8b\ufffd\ufffd\ufffd\ufffd\ufffdI,“消息”:“发生错误:错误505”}”

我的str {“事件”:“错误”,“S”:1\u0001\u0002\u0002\0 0\UFFF7\0\UFFF7\0 0\0 0 0 0 0\u0001\u0002\u0002\u0002\u0014\u0014\u0004\0 0 0 0\ufFF7\0 0\0\ufff7\0\0\0\0\0\0\0\0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\u0002\u0002\0 0 0 0 0 0 0 0 0 0 0 0 0 0 1\u0002\10 10 10 10 10 10\u0002\u0002\u0002\u0002\u0002\u0002\10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10\u0002\u0002\u0002\u0002\10 10 10 10 10 10 10 10 10 10 10 10 10\\U\u0004\u0008\u000c\u0005AAAAA1\r0\u000b\u0006\u0003U\u0004\u0007\u000c\u0004bb1!0\u001f\u0006\u0003U\u0004\n\u000c\u0018I\ufffdI,“消息”:“发生错误:错误505”}


Tags: json错误socketu0014u0002u0007u0001u001e
1条回答
网友
1楼 · 发布于 2024-10-04 01:30:48

您的字符串似乎包含损坏的Unicode转义。转义\u后面是编码码点的四个字符,因此,例如,\u000380被解析为\u0003(又称ascii控制-C),后面是普通数字"80"

无论如何,当我试图重现您的问题时,我得到的错误与您的不同:

json.decoder.JSONDecodeError: Invalid control character at: line 1 column 25 (char 24)

由于不知道还会发生什么,请创建一个测试字符串,其中包含您试图解析的响应数据,并将其嵌入Python代码中(编辑您的问题,不要尝试在注释中执行)

我们只需要带有数据字符串和json.loads()调用的代码。。。以及错误消息。这样我们就可以看到你们所看到的,并取得进展

相关问题 更多 >