[英]Multiline Json not working with python json.loads
這是 python 請求代碼
response = requests.post(jobsurl, data=searchPayload, auth=(user, password), verify=validateCert)
print(response.text)
它返回以下字符串
{"preview":false,"offset":0,"result":{"title":"testalert1","eai:acl.owner":"testorphanuser","request.ui_dispatch_app":"search","splunk_server":"host1","qualifiedSearch":"search index=_internal | head 1"}}
{"preview":false,"offset":1,"lastrow":true,"result":{"title":"testalert2","eai:acl.owner":"testorphanuser","request.ui_dispatch_app":"search","splunk_server":"host1","qualifiedSearch":"search index=_internal | head 2"}}
我正在嘗試做 json.load 並收到錯誤
job_data = json.loads(response.text)
print(job_data)
raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 212)
我正在嘗試解析標題,eai:acl.owner 和 request.ui_dispatch_app,我猜錯誤來自第二個 json 行條目。 有沒有辦法可以將它們和 append 加載到列表中?
任何幫助將不勝感激
由於 json.loads() 對我來說不適用於多行 json 條目,並且在第二個條目時出錯。 我將 output 寫入文件並循環每一行以執行 json.loads() 正如@klaus 提到的那樣,它有效。 不確定是否有另一種簡單的方法,但這對我有用。
data = response.text
with open('data.txt', 'w') as wf:
wf.write(data)
with open('data.txt') as rf:
for entry in rf:
entryDist = json.loads(entry)
entryList.append(entryDist)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.