如果你要讀取一個多行的json文件,比如
{"pid": 150400, "id": 150402, "name": "電影票"}
{"pid": 150000, "id": 150500, "name": "票務"}
{"pid": 150500, "id": 150501, "name": "國內旅游"}
{"pid": 150500, "id": 150502, "name": "海外旅游"}
如果你直接使用:
file = open('test.json','r')
res = file.read()
dic = json.loads(res)
則會拋出異常:ValueError: Extra data: line 2 column 2 - line 4 column 2
表示數據錯誤,數據太多:第二行-第四行
因為json只能讀取一個文檔對象,有兩個解決辦法
1、單行讀取文件
2、保存數據源的時候,格式寫為一個對象
代碼:
方法一.單行讀取文件
file = open('test.json','r')
for line in file.readlines():
dic = json.loads(line)
方法二.保存數據源的時候,格式寫為一個對象
{"cates":[
{"pid": 150400, "id": 150402, "name": "電影票"},
{"pid": 150000, "id": 150500, "name": "票務"},
{"pid": 150500, "id": 150501, "name": "國內旅游"},
{"pid": 150500, "id": 150502, "name": "海外旅游"}
]}
#然后 就是作為一個文檔對象處理
file = open('test.json','r')
res = file.read()
dic = json.loads(res)