我有一個問題,試圖解碼和打印從套接字連接接收的JSON。Python的JSON解碼ValueError:額外的數據:
完整回溯:
C:\Users\Jeremy>python F:\Files\Python\test.py
2013-01-04 21:15:35 [INFO] [AutoSaveWorld] World save Complete!
2013-01-04 21:15:50 [INFO] [←[34;1mMain←[37;1m]←[32;22mRexOZ←[37;1m: you cahaned
your house it looks awesome←[m
Traceback (most recent call last):
File "F:\Files\Its safer indoors\Python\test.py", line 14, in <module>
data = json.loads(dreceve)
File "C:\Python33\lib\json\__init__.py", line 309, in loads
return _default_decoder.decode(s)
File "C:\Python33\lib\json\decoder.py", line 355, in decode
raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 2 column 1 - line 3 column 1 (char 151 - 344)
正如你所看到的前兩行打印精細,然後它崩潰。
全碼:
import socket
import json
import re
HOST = 'host.host.net'
PORT = 8082
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
dsend = "/api/subscribe?source=console&key=SUPERSEXYSECRETEY&show_previous=true\n"
s.sendall(dsend.encode())
while 1:
dreceve = s.recv(1024).decode()
data = json.loads(dreceve)
succses = data['success']
line = succses['line']
print(line)
s.close()
我瞪大眼睛了周圍這個錯誤,我發現並沒有解決我的問題的頁面,任何幫助工作理解。
您需要顯示演示此問題的示例數據。 – BrenBarn
你絕對需要使用原始套接字嗎? – miku
@BrenBarn https://github.com/alecgorge/jsonapi/wiki/How-to-use-the-stream-api-over-a-socket-connection(頁面底部) – Jeremy