JSON讀取數(shù)據(jù) ValueError: Extra data: line 2 column 2 - line 4 column 2

如果你要讀取一個(gè)多行的json文件,比如

{"pid": 150400, "id": 150402, "name": "電影票"}
{"pid": 150000, "id": 150500, "name": "票務(wù)"}
{"pid": 150500, "id": 150501, "name": "國(guó)內(nèi)旅游"}
{"pid": 150500, "id": 150502, "name": "海外旅游"}

如果你直接使用:

file = open('test.json','r')
res = file.read()
dic = json.loads(res)

則會(huì)拋出異常:ValueError: Extra data: line 2 column 2 - line 4 column 2
表示數(shù)據(jù)錯(cuò)誤,數(shù)據(jù)太多:第二行-第四行
因?yàn)閖son只能讀取一個(gè)文檔對(duì)象,有兩個(gè)解決辦法
1、單行讀取文件
2、保存數(shù)據(jù)源的時(shí)候,格式寫(xiě)為一個(gè)對(duì)象

代碼:
方法一.單行讀取文件

file = open('test.json','r')
for line in file.readlines():
    dic = json.loads(line)

方法二.保存數(shù)據(jù)源的時(shí)候,格式寫(xiě)為一個(gè)對(duì)象

{"cates":[
{"pid": 150400, "id": 150402, "name": "電影票"},
{"pid": 150000, "id": 150500, "name": "票務(wù)"},
{"pid": 150500, "id": 150501, "name": "國(guó)內(nèi)旅游"},
{"pid": 150500, "id": 150502, "name": "海外旅游"}
]}

#然后 就是作為一個(gè)文檔對(duì)象處理
file = open('test.json','r')
res = file.read()
dic = json.loads(res)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容