zoukankan      html  css  js  c++  java
  • python-json序列化和反序列化

    json序列化:json.dumps()用于将dict类型的数据转成json字符串
      在序列化时,中文汉字被转换为unicode编码,在dumps函数中添加参数ensure_ascii=False可解决;dumps的indent参考可以调整显示格式,即缩进,一般设置为2。键值数据不能用双引号,只能用单引号(如果是双引号,可以用eval())。
    json反序列化:json.loads()用于将json字符串转成dict类型的数据

    import json
    #json.dumps()用于将dict类型的数据转成json字符串
    #json.loads()用于将json字符串转成dict类型的数据
    
    dic = {'age': 23, 'job': 'student'}
    print(type(dic),dic)
    # out: <class 'dict'> {'age': 23, 'job': 'student'}
    
    dic_str = json.dumps(dic)
    print(type(dic_str), dic_str)
    # out: <class 'str'> {"age": 23, "job": "student"}
    
    dic_obj = json.loads(dic_str)
    print(type(dic_obj), dic_obj)
    # out: <class 'dict'> {'age': 23, 'job': 'student'}
    
    
    
    #eval()字符串转字典,列表
    dic= "{'age': 23, 'job': 'student'}"
    print(type(dic),dic)
    # out: <class 'str'> {'age': 23, 'job': 'student'}
    print(type(eval(dic)),eval(dic))
    # out: <class 'dict'> {'age': 23, 'job': 'student'}
    
    lis = "['age','job']"
    print(type(lis),lis)
    # out: <class 'str'> ['age','job']
    print(type(eval(lis)),eval(lis))
    # out: <class 'list'> ['age', 'job']
    
    
    
    #dump: 将dict类型数据写入json文件中
    #load: 读取数据以dict类型返回
    with open("../file/json/record.json","w") as f: 
        json.dump(dic_obj,f)
    
    with open("../file/json/record.json",'r') as f:
        dic_obj = json.load(f)
        print(type(dic_obj), dic_obj)   # out: <class 'dict'> {'age': 23, 'job': 'student'}
        print(dic_obj["age"])           # out: 23
  • 相关阅读:
    Kafka开启JMX监控
    不用再上官网,自己部署一套ElementUI官方最新文档
    Idea没安装几款好用的插件,怎么风骚的写代码???
    springboot2.x基础教程:动手制作一个starter包
    springboot2.x基础教程:自动装配原理与条件注解
    Java Jar源码反编译工具那家强
    Jmeter 乱码解决方法
    robot frame基础知识--变量
    HTML基础--标签
    yaml模块
  • 原文地址:https://www.cnblogs.com/shuzf/p/11162851.html
Copyright © 2011-2022 走看看