zoukankan      html  css  js  c++  java
  • 常用模块——json模块

    json模块

    pickle模块和shelve模块序列化的得到数据只能被Python所解析。

    通常企业开发不可能做一个单机版,都需要联网进行计算机之间的交互。

    我们必须保证这个数据能够跨平台使用。

    JSON是什么?

    JavaScript object notation 就是对象表示法。

     对我们而言JSON就是通用的数据格式,任何语言都能够解析。

    json中数据格式与Python中的数据类型的对照

    json数据格式 Python数据类型
    {} dict
    [] list
    int/float int/float
    true/false True/False
    null None

    json的语法规范

    最外层通常是一个字典或列表。

    {} or []

    只要你想写一个json格式的数据,那么最外层直接写{}

    字符串必须是双引号。

    你可以在其中嵌套任意多的层次。

    json模块的核心功能

    dump  dumps

    load  loads

    不带s 的封装了write和read功能

    a.json文件

    {
      "name":"msj",
      "age":25,
      "gender":"male"
    }

    反序列化

    import json
    with open(r'a.json','r',encoding='utf-8') as f:
        res = json.loads(f.read())
        print(res)
    #{'name': 'msj', 'age': 25, 'gender': 'male'}

     反序列化load()

    with open(r'a.json','r',encoding='utf-8') as f:
        res=json.load(f)
        print(res)

    序列化dumps()

    dic = {
        'egon':{
            "age":18,
            "ismale":True,
            'add':None
    
        }
    }
    
    res = json.dumps(dic)
    with open(r'b.json','w',encoding='utf-8') as f:
        f.write(res)

    输入符合Python语法的格式内容会被转换为符合json语法的。

    {"egon": {"age": 18, "ismale": true, "add": null}}

    反序列化dump

    with open(r'c.json','w',encoding='utf-8') as f:
        json.dump(dic,f)
  • 相关阅读:
    Java-->实现断点续传(下载)
    Java-->分割文件
    Java-->IO流模拟实现用户登录以及登录信息
    Java-->PrintStream
    Java-->一个只能运行十次的程序
    MySQL之数据类型
    【linux相识相知】网络属性配置
    MySQL之基本语句
    【linux相识相知】sed命令
    【Linux相识相知】yum的配置使用和程序包的编译安装
  • 原文地址:https://www.cnblogs.com/msj513/p/9805444.html
Copyright © 2011-2022 走看看