zoukankan      html  css  js  c++  java
  • Json、Pickle

    Json

    JSON是一个序列化模块,一种用于存储和交换数据的语法。

    JSON是用JavaScript对象表示法(JavaScript object notation)格式编写的文本。

    可以将python数据类型 --—> json数据类型 --—>字符串 --—> 文件中

    其他语言要想用python的数据

    文件中 -–—> 字符串 -–—> json 数据格式 -–—> 其他语言的数据类型

    在json中,所有的字符串都是双引号

    元组比较特殊,若转成json数据,内部会将元组变成列表

    set是不能换号json数据

    json.dumps 序列化(编码),将对象编码成json对象

    import json
    import json
    d = {
        'name':'zcy',
        'age':18,
    }
    a = json.dumps(d)
    print(a)
    {"name": "zcy", "age": 18}
    

    json.loads 反序列化(解码),该函数返回python字典的数据类型

    b = json.loads(a)
    print(b)
    {'name': 'zcy', 'age': 18}
    

    json.dump不需要使用write()方法, 只需要写哪个字典、哪个文件即可;而.dumps()需要使用.write()方法写入

    保存json数据时,用.json作文文件的后缀名

    with open('user.json','w',encoding='utf-8') as f:
        json.dump(数据,句柄f)
    

    json.load传的是文件对象,而loads传的是字符串; 使用loads时需要先读文件在使用,load则不用先读

    with open('user.json','r',encoding='utf-8')
    data = json.load(f)
    print(data)
    

    当将Python对象转换为JSON时,Python对象将被转换为对应JSON (JavaScript)类型:

    Python JSON
    dict Object
    list Array
    tuple Array
    str String
    int Number
    float Number
    True true
    False false
    None null

    pickle

    pickle是一个python自带的序列化模块

    优点:可以支持python中所有的数据类型

    ​ 可以直接存'bytes'类型 的数据,pickle存取速度更快

    缺点:只能支持python使用,不能跨平台

    默认情况下,pickle数据格式使用相对紧凑的二进制表示。如果您需要最佳尺寸特征,则可以有效地压缩数据。

    要序列化对象层次结构,只需调用该dumps()函数即可。同样,要对数据流进行反序列化,请调用该loads()函数

  • 相关阅读:
    虚函数和纯虚函数
    MS CRM 2011中PartyList类型字段的实例化
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(4)
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(2)
    MS CRM 2011的自定义和开发(10)——CRM web服务介绍(第二部分)——IOrganizationService(二)
    MS CRM 2011 SDK 5.08已经发布
    MS CRM 2011 Q2的一些更新
    最近很忙
    Microsoft Dynamics CRM 2011最近的一些更新
    补一篇,Update Rollup 12 终于发布了
  • 原文地址:https://www.cnblogs.com/kai-/p/11882196.html
Copyright © 2011-2022 走看看