zoukankan      html  css  js  c++  java
  • python-操作json

    操作json

    loads

    将字符串转换成python对象

    import json
    str1 = '{"username": "marton", "psw": "123456"}'
    dict1 = json.loads(str1)
    print(dict1) #{'username': 'marton', 'psw': '123456'}
    print(type(dict1)) #<class 'dict'>

    load

    从文件中加载解析成一个python对象

    user_info.json

    {"user": "marton", "psw": "123456"}
    import json
    dict1 = {"user": "marton", "psw": "123456"}
    with open('user_info.json') as f:
        dict1 = json.load(f)
    
    print(dict1) #{'user': 'marton', 'psw': '123456'}
    print(type(dict1)) #<class 'dict'>

    dump

    把一个python对象以json的形式写入文件

    import json
    dict1 = {"user": "marton", "psw": "123456"}
    with open('user_info.json', 'w') as f:
        json.dump(dict1, f)

    dumps

    将一个python对象转换成json

    import json
    dict1 = {"user": "marton", "psw": "123456"}
    str1 = json.dumps(dict1)
    print(str1) #{"user": "marton", "psw": "123456"}
    print(type(str1)) #<class 'str'>

    对json操作进行封装

    import json
    
    class OperateJson:
        """
            操作json
        """
        def __init__(self, file_path=None):
            if file_path:
                self.file_path = file_path
            else:
                self.file_path = '../data_config/user.json'
            self.data = self.load_json_data()
    
        #读取json文件
        def load_json_data(self):
            with open(self.file_path) as fp:
                data = json.load(fp)
            return data
    
        #根据键获取数据
        def get_data(self, key):
            return self.data[key]
    
        #将数据写入json文件中
        def write_data(self, data):
            with open('../data_config/cookie.json', 'w') as fp:
                json.dump(data, fp)
    
    if __name__ == '__main__':
        oper_json = OperateJson()
        oper_json.write_data({'cookie': '123456'})
  • 相关阅读:
    elasticsearch-排序(六)
    elasticsearch-分词器(五)
    elasticsearch-搜索-基本搜索(四)
    elasticsearch-文档(三)
    elasticsearch-集群(二)
    FFmpeg架构之I/O模块分析
    DirectShow 在 VS2010 中开发环境的设置
    预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
    2012年软件开发者薪资调查报告
    深入了解 VP8
  • 原文地址:https://www.cnblogs.com/marton/p/11055614.html
Copyright © 2011-2022 走看看