python接口自动化学习笔记(封装方法用于读取json文件)

本篇实现对读取json的代码进行简单的封装
首先创建一个json文件用以测试使用

{
"json1":{"key1":"value1"},
"json2":{"key2":"value2"}
}

1.直接读取json1的值

import json
#创建句柄,读取json文件
fp = open("file_path/xxx.json")
#获取json文件数据
data =  json.load(fp)
#打印json1的value
print data["json1"]

打印结果如下:

2.封装获取json文件的方法

此方法需要实现的作用是:其他方法再调用此方法时,如果传入file_name,就调用对应路径的json文件。如果不传这个字段,就调用默认json文件。

    def __init__(self,file_name=None):
        if file_name:
            self.file_name = file_name
        else:
            self.file_name = 'file_path/xxx.json'
        self.data = self.read_data()

    def read_data(self):
        with open(self.file_name) as fp:
            data = json.load(fp)
            return data

3.封装获取value的方法

通过传key值获取对应的value值

    def get_data(self,key):
        return self.data[key]

到这里就封装完了,可以执行测试一下,还是打印json1的value值

if __name__ == '__main__':
    opJson = OperationJson()
    print(opJson.get_data('json1'))

打印结果如下:

完整代码如下:

#coding:utf-8
import json

class OperationJson:

    def __init__(self,file_name=None):
        if file_name:
            self.file_name = file_name
        else:
            self.file_name = 'file_path/xxx.json'
        self.data = self.read_data()

    def read_data(self):
        with open(self.file_name) as fp:
            data = json.load(fp)
            return data

    #根据关键字获取数据
    def get_data(self,key):
        return self.data[key]

if __name__ == '__main__':
    opJson = OperationJson()
    print(opJson.get_data('json1'))

有疑问的小伙伴可以在下方留言,我会针对问题不断优化文章内容,希望能有效的帮到更多人,谢谢~

猜你喜欢

转载自blog.csdn.net/lt326030434/article/details/81187596
今日推荐