使用python3读取json文件,使用encoding防止乱码
import json
class OperationJson:
def __init__(self):
self.data=self.read_data()
#读取json文件
def read_data(self):
with open("../dataconfig/login.json",encoding="utf-8") as fp: #添加encoding 防止出乱码
data = json.load(fp)
return data
#根据关键字获取
def get_data(self,id):
return self.data[id]
if __name__ == '__main__':
opjson = OperationJson()
print(opjson.get_data("login"))
思路:
1、读取原文件
2、去掉逗号保存
3、使用jsonline读取文件
import jsonlines
with open("../data_config/testData.json", 'r', encoding="utf-8") as f:
lines = f.read()
f.close()
lines_json = lines.replace('},', '}')
n = open('../data_config/testData.json', 'w', encoding='utf-8')
n.write(lines_json)
n.close()
sum = 0
with open("../data_config/testData.json", "r+", encoding="utf8") as f:
for item in jsonlines.Reader(f):
sum = sum + int(item['score'])
print(sum)