zoukankan      html  css  js  c++  java
  • json模块 ---- dumps、loads、dump、load

    序列化:json.dumps         将python对象编码成json字符串

    反序列化:json.loads       将已编码的json字符串解码成python对象

    json.dump()  直接把python数据类型转化为json字符串 写入json文件

    json.load() 直接把json文件读出来,转化为python数据类型

    json.dump = json.dumps() + f.write()   

    json.load = f.read() + json.loads()      

    为甚么直接load 空json文件会报错?    json.load = f.read() + json.loads()        相当于json.loads('')   

    1.json.dumps()      将python对象编码成json字符串              

    list1 = ['张全蛋', '李小花']
    json_str = json.dumps(list1, ensure_ascii=False)
    print(json_str)
    print(type(json_str))

    >>> ["张全蛋", "李小花"]
    >>> <class 'str'>

    2. json.loads()   将已编码的json字符串解码成python对象

    python_data = json.loads(json_str)
    print(python_data)
    print(type(python_data))  # list
    
    >>> ['张全蛋', '李小花']
    >>>  <class 'list'>

     3. json.dump()   json.load() 原理

       json.dump = json.dumps() + f.write()      先将python数据类型转为json格式字符串,然后将json字符串写入json文件    

    # json.dumps()   
    dic = {'name': 'tank','age': 17} # 将ensure_ascii默认的ascii取消设置为False,可以在控制台看到中文,否则看到的是bytes类型数据 json_str = json.dumps(dic, ensure_ascii=False) #注意: 保存json数据时,用.json作为文件的后缀名 with open('user.json', 'w', encoding='utf-8') as f: f.write(json_str)

    json.load = f.read() + json.loads()           先将json格式字符串读出来,然后将json格式字符串转化为python数据类型

    # json.dumps()   
    dic = {'name': 'tank','age': 17}
    #类型数据
    with open('user.json', 'r', encoding='utf-8') as f:
           json_str=f.read()
    str = json.loads(s)

    json.dump()   json.load()

    # user_dic = {
    #     'username': 'tank',
    #     'password': 123
    # }
    # f = open('user2.json', 'w', encoding='utf-8')
    # json.dump(user_dic, f,ensure_ascii=False)
    # f.close()
    #
    # with open('user3.json', 'w', encoding='utf-8') as f:
    #     json.dump(user_dic, f)
    
    # with open('user3.json', 'r', encoding='utf-8') as f:
    #     user_dic = json.load(f)
    #     print(user_dic)
    #     print(type(user_dic))
  • 相关阅读:
    20.12.2 leetcode7
    20.12.1 leetcode34
    20.11.30 leetcode767
    20.11.29 leetcode976
    Codeforces632E 选择/小偷与商店 背包DP
    魔法少女 DP NG放的水
    逆反的01串 模拟 NG放的水
    最大数maxnumber bzoj1012 JSOI2008 单调队列
    组合数问题 vijos2006 NOIP2016 D2T1 杨辉三角 排列组合 前缀和
    信息传递 vijos1979 NOIP2015D1T2 强连通分量 tarjan模版题
  • 原文地址:https://www.cnblogs.com/bigbox/p/11883163.html
Copyright © 2011-2022 走看看