• Python Json模块中dumps、loads、dump、load函数介绍


    1、json.dumps()

     json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。

    import json
    
    name = {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'}
    
    jsDumps = json.dumps(name)
    
    print(name,'类型为:%s'%type(name))
    print(jsDumps,'类型为:%s'%type(jsDumps))

    结果为

    {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'} 类型为:<class 'dict'>
    {"a": "zhangsan", "b": "lisi", "c": "mawu", "d": "zhaoliu"} 类型为:<class 'str'>

    2、json.dump()

    json.dump()用于将dict类型的数据转成str,并写入到json文件中。下面两种方法都可以将数据写入json文件

    import json
    nameList = {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'}
    
    fileName = ('./namejson.json')
    
    # 方法 1 #现将字典转为字符串,在写入文件中
    jsObj = json.dumps(nameList)
    with open(fileName, "w",encoding='utf-8') as f:
      f.write(jsObj)
      f.close()

    # 方法 2 # 直接写入文件中 格式:json.dump(字典或列表,打开文件,ensure_ascii=False) 关闭ascii转码

    json.dump(nameList, open(fileName, "w",encoding='utf-8'),ensure_ascii=False)

    3、json.loads()

    json.loads()用于将str类型的数据转成dict。

    import json
    
    name = {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'}
    
    jsDumps = json.dumps(name)
    jsLoads = json.loads(jsDumps)
    
    print(name,'类型为:%s'%type(name))
    print(jsDumps,'类型为:%s'%type(jsDumps))
    print(jsLoads,'类型为:%s'%type(jsLoads))

    结果为

    {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'} 类型为:<class 'dict'>
    {"a": "zhangsan", "b": "lisi", "c": "mawu", "d": "zhaoliu"} 类型为:<class 'str'>
    {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'} 类型为:<class 'dict'>

    4、json.load()

    json.load()用于从json文件中读取数据。

    import json
    
    emb_filename = ('./emb_json.json')
    
    jsObj = json.load(open(emb_filename))
    
    print(jsObj)
    print(type(jsObj))
    
    for key in jsObj.keys():
        print('key: %s  value: %s' % (key, jsObj.get(key)))

    结果为

    {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'}
    <class 'dict'>
    key: a  value: zhangsan
    key: b  value: lisi
    key: c  value: mawu
    key: d  value: zhaoliu
  • 相关阅读:
    java 反射 报错:Attempt to get java.lang.Integer field "..." with illegal data type conversion to int
    经常报错:Communications link failure
    解析Excel
    spring+atomikos+mybatis 多数据源事务(动态切换)
    mysql 存储过程
    Ace Admin 学习笔记
    spring mvc 表单提交 乱码
    spring 事务
    基于注解的Spring多数据源配置和使用(非事务)
    javaEE版本的eclipse中导入工程,发现server里面找不到工程,根本发布不了也不能运行
  • 原文地址:https://www.cnblogs.com/mswei/p/9283546.html
Copyright © 2020-2023  润新知