簡體   English   中英

python無法解析JSON數據

[英]python unable to parse JSON Data

我無法使用python解析JSON數據。

網頁網址返回JSON數據

import requests
import json  

BASE_URL = "https://www.codechef.com/api/ratings/all"
data = {'page': page, 'sortBy':'global_rank', 'order':'asc', 'itemsPerPage':'40' }
r = requests.get(BASE_URL, data = data)
receivedData = (r.text)
print ((receivedData))

當我打印此文件時,我得到了大文本,當我使用https://jsonlint.com/進行驗證時,它顯示了VALID JSON

后來我用

import requests
import json    

BASE_URL = "https://www.codechef.com/api/ratings/all"
data = {'page': page, 'sortBy':'global_rank', 'order':'asc', 'itemsPerPage':'40' }
r = requests.get(BASE_URL, data = data)
receivedData = (r.text)
print (json.loads(receivedData))

當我使用https://jsonlint.com/驗證較大的打印文本時,它顯示了無效的JSON

即使我不打印並直接使用數據。 它工作正常。 因此,我確定即使在內部也無法正確加載。

是python無法將文本正確解析為JSON?

簡而言之, json.loads從Json(事物,objcet,數組等)轉換為Python對象-在這種情況下為Json字典。 當您打印時,它將打印為命令式,因此使用單引號引起來。

有效地可以擴展您的代碼:

some_dictionary = json.loads(a_string_which_is_a_json_object)
print(some_dictionary)

為了確保您要打印json-safe,您需要使用json.dumps重新編碼

當您使用python的json.loads(text)它將返回一個python字典。 當您打印該詞典時,它不是json格式。

如果要json輸出,則應使用json.dumps(json_object)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM