如果你要讀取一個(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í)候,格式寫為一個(gè)對(duì)象
代碼:
方法一.單行讀取文件
file = open('test.json','r')
for line in file.readlines():
dic = json.loads(line)
方法二.保存數(shù)據(jù)源的時(shí)候胜臊,格式寫為一個(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)