• Python安装json模块(simplejson)


    JSON 相关概念:

    序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML 等。反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象。
    JSON(Java Script Object Notation):一种轻量级数据交互格式,相对于XML而言更简单,也易于阅读和编写,机器也方便 解析和生成,Json是JavaScript中的一个子集。
    python2.6版本开始加入了JSON模块,python的json模块序列化与反序列化的过程分别是encoding和decoding。
    encoding:把一个python对象编码转换成Json字符串。
    decoding:把json格式字符串编码转换成python对象。
    具体应用:
    json提供四个功能:dumps, dump, loads, load

    dumps功能 :将数据通过特殊的形式转换为所有程序语言都认识的字符串

    >>> import simplejson 
    >>> data =['aa','bb','cc'] >>> j_str = simplejsondumps(data) 
    Traceback (most recent call last): File "", line 1, in <module> 
    NameError: name 'simplejsondumps' is not defined 
    >>> j_str = simplejson.dumps(data) 
    >>> j_str '["aa", "bb", "cc"]'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    loads功能 : 将json编码的字符串再转换为python的数据结构

    >>> mes = simplejson.load(j_str) 
    Traceback (most recent call last): 
    File "", line 1, in <module> 
    File "D:\Program Files\python\lib\site-packages\simplejson\__init__.py", line 455, in load 
    return loads(fp.read(), 
    AttributeError: 'str' object has no attribute 'read' 
    >>> mes = simplejson.loads(j_str) 
    >>> mes 
    ['aa', 'bb', 'cc']
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    dump功能:将数据通过特殊的形式转换为所有程序语言都认识的字符串,并写入文件

    with open('D:/tmp.json', 'w') as f: 
    simplejson.dump(data, f)
    
    • 1
    • 2

    load功能:从数据文件中读取数据,并将json编码的字符串转换为python的数据结构

    with open('D:/tmp.json', 'r') as f: 
    data = simplejson.load(f)
    
    • 1
    • 2

    json编码支持的基本类型有:None, bool, int, float, string, list, tuple, dict.
    对于字典,json会假设key是字符串(字典中的任何非字符串key都会在编码时转换为字符串),要符合JSON规范,应该只对 python列表和字典进行编码。此外,在WEB应用中,把最顶层对象定义为字典是一种标准做法。
    json编码的格式几乎和python语法一致,略有不同的是:True会被映射为true,False会被映射为false,None会被映射为null,元 组()会被映射为列表[],因为其他语言没有元组的概念,只有数组,也就是列表。

    
    >>> import simplejson 
    >>> data = {'a':True, 'b':False, 'c':None, 'd':(1,2), 1:'abc'} 
    >>> j_str = simplejson.dumps(data) 
    >>> j_str 
    '{"a": true, "c": null, "d": [1, 2], "b": false, "1": "abc"}'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    Simpeljson 模块安装
    开发环境:windows10、Python3.5、DJango1.11.1

    第一步:首先,下载对应simplejson的.whl文件,下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#simplejson

    第二步:打开cmd,进入到Python安装目录的Scripts文件夹中.比如:D:\Program
    Files\Python\Scripts。使用pip安装刚刚下载 好的whl文件,pip.exe install*.whl,
    例如:D:\Program Files\python\Scripts>pip.exe install D:\python\simplejson-3.10.0-cp36-cp36m-win_amd64.whl Processing
    d:\python\simplejson-3.10.0-cp36-cp36m-win_amd64.whl Installing collected packages: simplejson Successfully installed simplejson-3.10.0

    提示安装成功后,在\Python\Lib\site-packages目录下可以看到simplejson.

  • 相关阅读:
    screen中conda激活环境后登录jupyter notebook导入包提示找不到,但是在命令行中就可以导入包
    docker镜像升级python3.5→python3.9(Ubuntu)
    青少年软件编程C++二级真题(202106)
    解决pycharm每次新建项目都要重新pip安装一些第三方库等问题
    【spring-02】容器实现
    连接MySQL时报错:Public Key Retrieval is not allowed的解决方法
    Vue监测数据改变原理
    基于C#、Visual Studio 2017以及.NET Framework 4.5的Log4Net使用教程
    纽约时报中学生社论比赛备赛
    【CentOS 】DHCP 更改为静态 IP 地址并且遇到无法联网
  • 原文地址:https://blog.csdn.net/Start_Simple/article/details/126103932